Hive
  1. Hive
  2. HIVE-6293

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

    Details

    • Type: Bug Bug
    • Status: Open
    • Priority: Major 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
          Xuefu Zhang added a comment -

          Correction: HIVE-6310.

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

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

          Show
          Xuefu Zhang added a comment - Actually I created HIVE-6130 to fix the test failures, and leave this to track the other issue.
          Hide
          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
          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
          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
          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
          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
          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
          Brock Noland added a comment -

          Ptest2 has configurable directories so no change would be required.

          Show
          Brock Noland added a comment - Ptest2 has configurable directories so no change would be required.
          Hide
          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
          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
          Thejas M Nair added a comment -

          +1 for the file move.

          Show
          Thejas M Nair added a comment - +1 for the file move.
          Hide
          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
          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
          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
          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.

            People

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

              Dates

              • Created:
                Updated:

                Development