Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-6293

Not all minimr tests are executed or reported in precommit test run

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 0.13.0
    • Fix Version/s: None
    • Component/s: Testing Infrastructure
    • Labels:
      None

      Description

      It seems that not all q file tests for minimr are executed or reported in the pre-commit test run. Here is an example:

      http://bigtop01.cloudera.org:8080/job/PreCommit-HIVE-Build/987/testReport/org.apache.hadoop.hive.cli/TestMinimrCliDriver/

      This might be due to ptest because manually running test TestMinimrCliDriver seems executing all tests. My last run shows 38 tests run, with 8 test failures.

      This is identified in HIVE-5446. It needs to be fixed to have broader coverage.

        Issue Links

          Activity

          Hide
          brocknoland Brock Noland added a comment -

          I just created https://cwiki.apache.org/confluence/display/Hive/MiniMR+and+PTest2 to expain this. I linked it from the Precommit page and the FAQ.

          Show
          brocknoland Brock Noland added a comment - I just created https://cwiki.apache.org/confluence/display/Hive/MiniMR+and+PTest2 to expain this. I linked it from the Precommit page and the FAQ.
          Hide
          brocknoland Brock Noland added a comment -

          If we wanted to improve this, we would either:

          Make a change here https://github.com/apache/hive/blob/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java#L99 to parse the property which specifies the minimr tests out of the pom.xml
          or
          Move the minimr tests to a different directory.

          I'd be in favor of the file move.

          Show
          brocknoland Brock Noland added a comment - If we wanted to improve this, we would either: Make a change here https://github.com/apache/hive/blob/trunk/testutils/ptest2/src/main/java/org/apache/hive/ptest/execution/conf/TestParser.java#L99 to parse the property which specifies the minimr tests out of the pom.xml or Move the minimr tests to a different directory. I'd be in favor of the file move.
          Hide
          thejas Thejas M Nair added a comment -

          +1 for the file move.

          Show
          thejas Thejas M Nair added a comment - +1 for the file move.
          Hide
          xuefuz Xuefu Zhang added a comment -

          Even if we copy/move the miniMR tests to a different directory, we still need to modify ptest so that it knows where to pick it up, right? What sort of change is required?

          I have temporarily modified the test property file to be consistent with pom file w.r.t miniMR test. Let's see how many of them are going to fail.

          Show
          xuefuz Xuefu Zhang added a comment - Even if we copy/move the miniMR tests to a different directory, we still need to modify ptest so that it knows where to pick it up, right? What sort of change is required? I have temporarily modified the test property file to be consistent with pom file w.r.t miniMR test. Let's see how many of them are going to fail.
          Hide
          brocknoland Brock Noland added a comment -

          Ptest2 has configurable directories so no change would be required.

          Show
          brocknoland Brock Noland added a comment - Ptest2 has configurable directories so no change would be required.
          Hide
          xuefuz Xuefu Zhang added a comment -

          Latest miniMR test run shows 3 failures after all tests are enabled, all complaining $

          {system:test.dfs.mkdir}

          in the script. However, these tests passed locally, and the system var is defined in qtest pom.xml. What's wrong with ptest for not taking this var?

          Show
          xuefuz Xuefu Zhang added a comment - Latest miniMR test run shows 3 failures after all tests are enabled, all complaining $ {system:test.dfs.mkdir} in the script. However, these tests passed locally, and the system var is defined in qtest pom.xml. What's wrong with ptest for not taking this var?
          Hide
          brocknoland Brock Noland added a comment - - edited

          All three tests will fail if hdfs://tmp/test already exists:

          mkdir: cannot create directory hdfs:///tmp/test/: File exists Exception: Client Execution failed with error code = -1 running dfs ${system:test.dfs.mkdir} hdfs:///tmp/test/
          

          Note: "File exists"

          e.g. http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-Build-1032/failed/TestMinimrCliDriver-groupby2.q-import_exported_table.q-load_hdfs_file_with_space_in_the_name.q-and-1-more/TEST-TestMinimrCliDriver-groupby2.q-import_exported_table.q-load_hdfs_file_with_space_in_the_name.q-and-1-more-TEST-org.apache.hadoop.hive.cli.TestMinimrCliDriver.xml

          Thus the variable is defined, just not in the error message. They should use a different directory like:

          hdfs://tmp/test_load_hdfs_file_with_space

          Show
          brocknoland Brock Noland added a comment - - edited All three tests will fail if hdfs://tmp/test already exists: mkdir: cannot create directory hdfs:///tmp/test/: File exists Exception: Client Execution failed with error code = -1 running dfs ${system:test.dfs.mkdir} hdfs:///tmp/test/ Note: "File exists" e.g. http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-Build-1032/failed/TestMinimrCliDriver-groupby2.q-import_exported_table.q-load_hdfs_file_with_space_in_the_name.q-and-1-more/TEST-TestMinimrCliDriver-groupby2.q-import_exported_table.q-load_hdfs_file_with_space_in_the_name.q-and-1-more-TEST-org.apache.hadoop.hive.cli.TestMinimrCliDriver.xml Thus the variable is defined, just not in the error message. They should use a different directory like: hdfs://tmp/test_load_hdfs_file_with_space
          Hide
          xuefuz Xuefu Zhang added a comment -

          Thanks, Brock.

          I'm going to create a patch to fix those failures for now so that all miniMR tests can be enabled for the build. I'll create a separated JIRA to track the proposal of separate directory for miniMR tests.

          Show
          xuefuz Xuefu Zhang added a comment - Thanks, Brock. I'm going to create a patch to fix those failures for now so that all miniMR tests can be enabled for the build. I'll create a separated JIRA to track the proposal of separate directory for miniMR tests.
          Hide
          xuefuz Xuefu Zhang added a comment -

          Actually I created HIVE-6130 to fix the test failures, and leave this to track the other issue.

          Show
          xuefuz Xuefu Zhang added a comment - Actually I created HIVE-6130 to fix the test failures, and leave this to track the other issue.
          Hide
          xuefuz Xuefu Zhang added a comment -

          Correction: HIVE-6310.

          Show
          xuefuz Xuefu Zhang added a comment - Correction: HIVE-6310 .

            People

            • Assignee:
              xuefuz Xuefu Zhang
              Reporter:
              xuefuz Xuefu Zhang
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:

                Development