Hi Tim,
yes, your problem and the one from the readme.md are related. Both boil down to hives XML encoder not beeing able to serialize the generated Execution-Plan (AST) into XML for distribution between nodes.
This is beacuse the xml serializier in Java 1.7 uses reflection. The fail occures because a serialized class is missing a Zero-Arg-Constructor, used to re-instantiate the deserialized AST.
A possible reason why you encounter this error with bigbench and not in your production system is: The error depends on which HIVE-QL language features you use. If your production queries just happen to never use the feature tied to the correspondig faulty backend class of hive, they will work. Same in Big-Bench where many queries work but other fail. Whenever hive decided to transfor a Join into a Map-Join this error may surface in combination with Java 1.7 and Hive 0.12.
On quirk is, that there must be a unknown factor involved, because we developed and tested the Hive part of Big-Bench on Hive 0.12 and (Oracle)-Java 1.7 without encountering this issue.
If you are able to, you may want to switch to Hive 0.13.
To help other people and maybe even narrow down the "unknown factor", do you mind posting your full (software-)specs here?
If you are using some hadoop distribution like (cloudera, biginsights, hortonworks ,..) pleas post the exact version.
This distributions may ship hive with serveral major and minor modifications compared to the official hive branch. (Hive 0.12 != hive-cloudera 0.12)
There is a second unrelated exception:
/home/users/tharsch/git/Big-Bench/logs/q20_hive_POWER_TEST_IN_PROGRESS_0.log:68:FAILED:
SemanticException [Error 10016]: Line 7:69 Argument type mismatch
'0.0': The expression after ELSE should have the same type as those
after THEN: "bigint" is expected but "double" is found
See: https://issues.apache.org/jira/browse/HIVE-5825I have made some changes to q20. Please check out the latest version from github.
To re-run q20 start:
./scripts/bigBench -q 20 runQuery
I have added you encountered errors to the FAQ section of the readme.md.
best regards
Michael