Class IntegrationTestMapReduce

  • All Implemented Interfaces:
    org.apache.hadoop.conf.Configurable, org.apache.hadoop.util.Tool

    public class IntegrationTestMapReduce
    extends org.apache.hadoop.conf.Configured
    implements org.apache.hadoop.util.Tool
    Run the Integration Tests as a Map-Reduce job.

    Each of the Integration tests takes 30s to 20m to run. Using a larger cluster, all the tests can be run in parallel and finish much faster.

    To run the tests, you first need a list of the tests. A simple way to get a list, is to scan the accumulo-test jar file for them.

     $ jar -tf lib/accumulo-test.jar | grep IT.class | tr / . | sed -e 's/.class$//' >tests
     
    Put the list of tests into HDFS:
     $ hadoop fs -mkdir /tmp
     $ hadoop fs -put tests /tmp/tests
     
    Run the class below as a map-reduce job, giving it the lists of tests, and a place to store the results.
     $ yarn jar lib/accumulo-test-mrit.jar -libjars lib/native/libaccumulo.so /tmp/tests /tmp/results
     
    The result is a list of IT classes that pass or fail. Those classes that fail will be annotated with the particular test that failed within the class.
    • Constructor Detail

      • IntegrationTestMapReduce

        public IntegrationTestMapReduce()
    • Method Detail

      • isMapReduce

        public static boolean isMapReduce()
      • run

        public int run​(String[] args)
                throws Exception
        Specified by:
        run in interface org.apache.hadoop.util.Tool
        Throws:
        Exception