Hi Team,
Recently I have been working on trying to reproduce the following CI failure
without success:
org.apache.iceberg.mr.hive.TestHiveIcebergStorageHandlerWithCustomCatalog >
testScanTable[fileFormat=PARQUET, engine=tez] FAILED
java.lang.IllegalArgumentException: Failed to execute Hive query 'SELECT *
FROM default.customers ORDER BY customer_id DESC': Error while processing
statement: FAILED
: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.tez.TezTask
Caused by:
org.apache.hive.service.cli.HiveSQLException: Error while processing
statement: FAILED: Execution Error, return code 1 from
org.apache.hadoop.hive.ql.exec.tez.TezTask
Since I was unsuccessful reproing the case, and the provided error message in
CI logs are not really helpful this means I can not fix this flaky test for
now. :(
After Marton Bods changes for adding logs for tests
(https://github.com/apache/iceberg/pull/1712
<https://github.com/apache/iceberg/pull/1712>), we could have more info about
the failures in the test logs (build/test-results/test/binary/output.bin), but
I am not sure if that is retained and accessible after a CI run.
I would like to propose adding the following to the build.gradle for the CI
runs:
test {
testLogging {
if ("true".equalsIgnoreCase(System.getenv('CI'))) {
events "failed", "passed"
+ testLogging.showStandardStreams = true
} else {
events "failed"
}
exceptionFormat "full"
}
}
This would add the logs printed during the tests to the standard output for the
CI runs. Example can be seen here
(https://github.com/pvary/iceberg/runs/1405960983
<https://github.com/pvary/iceberg/runs/1405960983>) - only enabled standard
streams for the hive related tests in this patch to see the results.
Pros:
Easily accessible log information for the failed runs
Cons:
Harder to read CI logs
Possible cost associated with retaining the logs
I think having more logs would be great, but I am not sure who pays the bill
and whether having bigger logs could cause any problem and whether the CI is
able to handle the increased amount of data.
Any thoughts, comments, ideas?
Thanks,
Peter