[
https://issues.apache.org/jira/browse/HIVE-11176?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14693620#comment-14693620
]
Hive QA commented on HIVE-11176:
--------------------------------
{color:red}Overall{color}: -1 at least one tests failed
Here are the results of testing the latest attachment:
https://issues.apache.org/jira/secure/attachment/12749998/HIVE-11176.1.patch.txt
{color:red}ERROR:{color} -1 due to 2 failed/errored test(s), 9348 tests executed
*Failed tests:*
{noformat}
org.apache.hive.jdbc.TestSSL.testSSLFetchHttp
org.apache.hive.spark.client.TestSparkClient.testJobSubmission
{noformat}
Test results:
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4933/testReport
Console output:
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/4933/console
Test logs:
http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-4933/
Messages:
{noformat}
Executing org.apache.hive.ptest.execution.PrepPhase
Executing org.apache.hive.ptest.execution.ExecutionPhase
Executing org.apache.hive.ptest.execution.ReportingPhase
Tests exited with: TestsFailedException: 2 tests failed
{noformat}
This message is automatically generated.
ATTACHMENT ID: 12749998 - PreCommit-HIVE-TRUNK-Build
> aused by: java.lang.ClassCastException:
> org.apache.hadoop.hive.serde2.lazybinary.LazyBinaryStruct cannot be cast to
> [Ljava.lang.Object;
> ---------------------------------------------------------------------------------------------------------------------------------------
>
> Key: HIVE-11176
> URL: https://issues.apache.org/jira/browse/HIVE-11176
> Project: Hive
> Issue Type: Bug
> Components: Hive, Tez
> Affects Versions: 1.0.0, 1.2.0
> Environment: Hive 1.2 and TEz 0.7
> Reporter: Soundararajan Velu
> Priority: Critical
> Attachments: HIVE-11176.1.patch.txt
>
>
> Unreachable code:
> hive/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/StandardStructObjectInspector.java
> // With Data
> @Override
> @SuppressWarnings("unchecked")
> public Object getStructFieldData(Object data, StructField fieldRef) {
> if (data == null) {
> return null;
> }
> // We support both List<Object> and Object[]
> // so we have to do differently.
> boolean isArray = ! (data instanceof List);
> if (!isArray && !(data instanceof List)) {
> return data;
> }
> *************************
> The if condition above translates to
> if(!true && true) the code section cannot be reached,
> this causes a lot of class cast exceptions while using Tez or ORC file
> formats or custom jsonsede, Strangely this happens only while using Tez.
> Changed the code to
> boolean isArray = data.getClass().isArray();
> if (!isArray && !(data instanceof List)) {
> return data;
> }
> Even then, lazystructs get passed as fields causing downstream cast
> exceptions like lazystruct cannot be cast to Text etc...
> So I changed the method to something like this,
> // With Data
> @Override
> @SuppressWarnings("unchecked")
> public Object getStructFieldData(Object data, StructField fieldRef) {
> if (data == null) {
> return null;
> }
> if (data instanceof LazyBinaryStruct) {
> data = ((LazyBinaryStruct) data).getFieldsAsList();
> }
> // We support both List<Object> and Object[]
> // so we have to do differently.
> boolean isArray = data.getClass().isArray();
> if (!isArray && !(data instanceof List)) {
> return data;
> }
> This is causing arrayindexout of bounds exception and other typecast
> exceptions in object inspectors,
> Please help,
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)