[
https://issues.apache.org/jira/browse/HIVE-23593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17147597#comment-17147597
]
Ayush Saxena commented on HIVE-23593:
-------------------------------------
Hi [~kgyrtkirk], we too faced the same issue, while verifying {{Hadoop-3.3.0}}
release on {{ARM}}.
This happens due to HIVE-22126, When {{calcite-core}} got shaded as well along
with {{guava}}, but there guava was reallocated, but not {{calcite-core}} which
was included later. As you said removing {{calcite-core}} from {{lib}} works
since the only class that is able to load is from {{hive-exec}} jar, This makes
things work here.
But if some one(client plugins/applications) is having {{calcite-core}} in its
classpath for other reasons, or it tends to be used later even somewhere other
than where shaded. This issue will surface again.
A probable addition is we reallocate the {{calcite-core}} classes as well,
which is done for gauva and others in Hive. This is something we follow in
Hadoop too. So, as presence of {{calcite-core}} or addition later doesn't
bother.
We tried reallocating in the pom.xml the {{calcite-core}} and that seems to
work for us. That is just 2-3 lines change.
Let me know, your thoughts on this, if you don't have any issues, will raise a
follow up JIRA to reallocate as well. Thanx :)
cc [~vinayakumarb] [~chinnaraol]
> Schemainit fails with NoSuchFieldError
> ---------------------------------------
>
> Key: HIVE-23593
> URL: https://issues.apache.org/jira/browse/HIVE-23593
> Project: Hive
> Issue Type: Bug
> Reporter: Zoltan Haindrich
> Assignee: Zoltan Haindrich
> Priority: Major
> Labels: pull-request-available
> Fix For: 4.0.0
>
> Time Spent: 40m
> Remaining Estimate: 0h
>
> the issue comes from a calcite related class ; it's very interesting because
> ql already has a shaded calcite....
> {code}
> Caused by: java.lang.NoSuchFieldError: operands
> at
> org.apache.hadoop.hive.ql.optimizer.calcite.translator.ExprNodeConverter.visitCall(ExprNodeConverter.java:192)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at
> org.apache.hadoop.hive.ql.optimizer.calcite.translator.ExprNodeConverter.visitCall(ExprNodeConverter.java:98)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at org.apache.calcite.rex.RexCall.accept(RexCall.java:191)
> ~[calcite-core-1.21.0.jar:1.21.0]
> at
> org.apache.hadoop.hive.ql.optimizer.calcite.HiveRexExecutorImpl.reduce(HiveRexExecutorImpl.java:56)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at
> org.apache.hadoop.hive.ql.parse.type.HiveFunctionHelper.foldExpression(HiveFunctionHelper.java:544)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at
> org.apache.hadoop.hive.ql.parse.type.HiveFunctionHelper.createConstantObjectInspector(HiveFunctionHelper.java:452)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at
> org.apache.hadoop.hive.ql.parse.type.HiveFunctionHelper.createObjectInspector(HiveFunctionHelper.java:435)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at
> org.apache.hadoop.hive.ql.parse.type.HiveFunctionHelper.getReturnType(HiveFunctionHelper.java:124)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> at
> org.apache.hadoop.hive.ql.parse.type.RexNodeExprFactory.createFuncCallExpr(RexNodeExprFactory.java:647)
> ~[hive-exec-4.0.0-SNAPSHOT.jar:4.0.0-SNAPSHOT]
> {code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)