When running a test that fails, I can get the output diff and the hive log, but 
when the failure occurs in the query execution, I don't see how I can retrieve 
whatever was logged by the execution.

For example, I can see in the target\qfile-results\...q.out:


PREHOOK: query: SELECT cint,
      ...
               AND (ctinyint > cbigint)))
PREHOOK: type: QUERY
PREHOOK: Input: default@alltypesorc
PREHOOK: Output: 
file:/Users/rremus/Development/hive/itests/qtest/target/tmp/localscratchdir/hive_2014-02-06_12-17-05_641_8095220136958689426-1/-mr-10000
Execution failed with exit status: 2
Obtaining error information

Task failed!
Task ID:
  Stage-1

Logs:

/Users/rremus/Development/hive/itests/qtest/target/tmp/log/hive.log
FAILED: Execution Error, return code 2 from 
org.apache.hadoop.hive.ql.exec.mr.MapRedTask

The hive.log is a bit more detailed:
2014-02-06 12:17:05,741 INFO  ql.Driver (SessionState.java:printInfo(504)) - 
Launching Job 1 out of 1
2014-02-06 12:17:05,742 INFO  exec.Task (SessionState.java:printInfo(504)) - 
Number of reduce tasks is set to 0 since there's no reduce operator
2014-02-06 12:17:05,822 INFO  mr.ExecDriver (MapRedTask.java:execute(175)) - 
Generating plan file 
file:/Users/rremus/Development/hive/itests/qtest/target/tmp/localscratchdir/hive_2014-02-06_12-17-05_641_8095220136958689426-1/-local-10003/plan.xml
2014-02-06 12:17:05,822 INFO  log.PerfLogger 
(PerfLogger.java:PerfLogBegin(108)) - <PERFLOG method=serializePlan 
from=org.apache.hadoop.hive.ql.exec.Utilities>
2014-02-06 12:17:05,823 INFO  exec.Utilities 
(Utilities.java:serializePlan(783)) - Serializing MapredWork via kryo
2014-02-06 12:17:05,835 INFO  log.PerfLogger (PerfLogger.java:PerfLogEnd(135)) 
- </PERFLOG method=serializePlan start=1391717825822 end=1391717825835 
duration=13 from=org.apache.hadoop.hive.ql.exec.Utilities>
2014-02-06 12:17:05,836 INFO  mr.ExecDriver (MapRedTask.java:execute(207)) - 
Executing: /Users/rremus/Development/hive/itests/qtest/../../testutils/hadoop 
jar 
/Users/rremus/.m2/repository/org/apache/hive/hive-exec/0.13.0-SNAPSHOT/hive-exec-0.13.0-SNAPSHOT.jar
 org.apache.hadoop.hive.ql.exec.mr.ExecDriver  -plan 
file:/Users/rremus/Development/hive/itests/qtest/target/tmp/localscratchdir/hive_2014-02-06_12-17-05_641_8095220136958689426-1/-local-10003/plan.xml
   -jobconffile 
file:/Users/rremus/Development/hive/itests/qtest/target/tmp/localscratchdir/hive_2014-02-06_12-17-05_641_8095220136958689426-1/-local-10002/jobconf.xml
2014-02-06 12:17:15,431 ERROR exec.Task (SessionState.java:printError(513)) - 
Execution failed with exit status: 2
2014-02-06 12:17:15,432 ERROR exec.Task (SessionState.java:printError(513)) - 
Obtaining error information
2014-02-06 12:17:15,432 ERROR exec.Task (SessionState.java:printError(513)) -
Task failed!
Task ID:
  Stage-1

Logs:

2014-02-06 12:17:15,433 ERROR exec.Task (SessionState.java:printError(513)) - 
/Users/rremus/Development/hive/itests/qtest/target/tmp/log/hive.log
2014-02-06 12:17:15,433 ERROR mr.ExecDriver (MapRedTask.java:execute(280)) - 
Execution failed with exit status: 2

Still, at the end of running the test there is nothing left in 
target/tmp/localscratchdir, scratchdir or in target/tmp/hadoop-tmp. In this 
case, I'm missing the output from the MR job that failed.
Is there a way for me to get this missing output?

Thanks,
~Remus




Reply via email to