[
https://issues.apache.org/jira/browse/CARBONDATA-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
PandaMonkey updated CARBONDATA-2169:
------------------------------------
Description:
Hi, when we using org.apache.carbondata:carbondata-hive:1.3.0, we got
*NoSuchMethodError*. And by analyzing the source code, we found the root cause
is conflicting classes in different JARs. It means that duplicate classes exist
in different JARs, but they have different features, which leads to the really
loaded classes are not the actually required ones of our project. (As JVM only
load the classes present first on the classpath and shadow the other duplicate
ones with the same name.) And such conflictiing problems exist in several JAR
pairs dependent by carbondata-hive:1.3.0. The detailed conflicting info is
listed in the attachment.
Conflicting Jar-pairs:
jar-pair:<org.objenesis:objenesis:2.1:><org.spark-project.hive:hive-exec:1.2.1.spark2:>
jar-pair:<org.apache.geronimo.specs:geronimo-annotation_1.0_spec:1.1.1:><javax.annotation:javax.annotation-api:1.2:>
jar-pair:<org.codehaus.jackson:jackson-core-asl:1.9.13:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<org.apache.avro:avro-mapred:1.7.7:hadoop2><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<com.sun.jersey:jersey-core:1.9:><javax.ws.rs:javax.ws.rs-api:2.0.1:>
jar-pair:<commons-beanutils:commons-beanutils-core:1.8.0:><commons-beanutils:commons-beanutils:1.7.0:>
jar-pair:<log4j:log4j:1.2.16:><log4j:apache-log4j-extras:1.2.17:>
jar-pair:<org.spark-project.hive:hive-exec:1.2.1.spark2:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<org.apache.spark:spark-hive-thriftserver_2.11:2.2.1:><org.apache.hive:hive-service:1.2.1:>
jar-pair:<xml-apis:xml-apis:1.3.04:><stax:stax-api:1.0.1:>
jar-pair:<org.codehaus.jackson:jackson-mapper-asl:1.9.13:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<javax.servlet:javax.servlet-api:3.1.0:><javax.servlet:servlet-api:2.5:>
jar-pair:<org.apache.commons:commons-lang3:3.5:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<commons-logging:commons-logging:1.1.3:><org.slf4j:jcl-over-slf4j:1.7.16:>
jar-pair:<org.apache.hive:hive-exec:1.2.1:><com.google.guava:guava:16.0.1:>
jar-pair:<javax.xml.stream:stax-api:1.0-2:><stax:stax-api:1.0.1:>
was:
Hi, when we using org.apache.carbondata:carbondata-hive:1.3.0, we got
NoSuchMethodError. And by analyzing the source code, we found the root cause is
conflicting classes in different JARs. It means that duplicate classes exist in
different JARs, but they have different features, which leads to the really
loaded classes are not the actually required ones of our project. (As JVM only
load the classes present first on the classpath and shadow the other duplicate
ones with the same name.) And such conflictiing problems exist in several JAR
pairs dependent by carbondata-hive:1.3.0. The detailed conflicting info is
listed in the attachment.
Conflicting Jar-pairs:
jar-pair:<org.objenesis:objenesis:2.1:><org.spark-project.hive:hive-exec:1.2.1.spark2:>
jar-pair:<org.apache.geronimo.specs:geronimo-annotation_1.0_spec:1.1.1:><javax.annotation:javax.annotation-api:1.2:>
jar-pair:<org.codehaus.jackson:jackson-core-asl:1.9.13:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<org.apache.avro:avro-mapred:1.7.7:hadoop2><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<com.sun.jersey:jersey-core:1.9:><javax.ws.rs:javax.ws.rs-api:2.0.1:>
jar-pair:<commons-beanutils:commons-beanutils-core:1.8.0:><commons-beanutils:commons-beanutils:1.7.0:>
jar-pair:<log4j:log4j:1.2.16:><log4j:apache-log4j-extras:1.2.17:>
jar-pair:<org.spark-project.hive:hive-exec:1.2.1.spark2:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<org.apache.spark:spark-hive-thriftserver_2.11:2.2.1:><org.apache.hive:hive-service:1.2.1:>
jar-pair:<xml-apis:xml-apis:1.3.04:><stax:stax-api:1.0.1:>
jar-pair:<org.codehaus.jackson:jackson-mapper-asl:1.9.13:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<javax.servlet:javax.servlet-api:3.1.0:><javax.servlet:servlet-api:2.5:>
jar-pair:<org.apache.commons:commons-lang3:3.5:><org.apache.hive:hive-exec:1.2.1:>
jar-pair:<commons-logging:commons-logging:1.1.3:><org.slf4j:jcl-over-slf4j:1.7.16:>
jar-pair:<org.apache.hive:hive-exec:1.2.1:><com.google.guava:guava:16.0.1:>
jar-pair:<javax.xml.stream:stax-api:1.0-2:><stax:stax-api:1.0.1:>
> Conflicting classes cause NoSuchMethodError, when our project using
> org.apache.carbondata:carbondata-hive:1.3.0
> ---------------------------------------------------------------------------------------------------------------
>
> Key: CARBONDATA-2169
> URL: https://issues.apache.org/jira/browse/CARBONDATA-2169
> Project: CarbonData
> Issue Type: Bug
> Components: hive-integration
> Affects Versions: 1.3.0
> Reporter: PandaMonkey
> Priority: Major
> Fix For: 1.3.1
>
> Attachments: carbondata conflicts.txt
>
>
> Hi, when we using org.apache.carbondata:carbondata-hive:1.3.0, we got
> *NoSuchMethodError*. And by analyzing the source code, we found the root
> cause is conflicting classes in different JARs. It means that duplicate
> classes exist in different JARs, but they have different features, which
> leads to the really loaded classes are not the actually required ones of our
> project. (As JVM only load the classes present first on the classpath and
> shadow the other duplicate ones with the same name.) And such conflictiing
> problems exist in several JAR pairs dependent by carbondata-hive:1.3.0. The
> detailed conflicting info is listed in the attachment.
> Conflicting Jar-pairs:
> jar-pair:<org.objenesis:objenesis:2.1:><org.spark-project.hive:hive-exec:1.2.1.spark2:>
>
> jar-pair:<org.apache.geronimo.specs:geronimo-annotation_1.0_spec:1.1.1:><javax.annotation:javax.annotation-api:1.2:>
>
> jar-pair:<org.codehaus.jackson:jackson-core-asl:1.9.13:><org.apache.hive:hive-exec:1.2.1:>
>
> jar-pair:<org.apache.avro:avro-mapred:1.7.7:hadoop2><org.apache.hive:hive-exec:1.2.1:>
>
> jar-pair:<com.sun.jersey:jersey-core:1.9:><javax.ws.rs:javax.ws.rs-api:2.0.1:>
>
> jar-pair:<commons-beanutils:commons-beanutils-core:1.8.0:><commons-beanutils:commons-beanutils:1.7.0:>
> jar-pair:<log4j:log4j:1.2.16:><log4j:apache-log4j-extras:1.2.17:>
>
> jar-pair:<org.spark-project.hive:hive-exec:1.2.1.spark2:><org.apache.hive:hive-exec:1.2.1:>
>
> jar-pair:<org.apache.spark:spark-hive-thriftserver_2.11:2.2.1:><org.apache.hive:hive-service:1.2.1:>
> jar-pair:<xml-apis:xml-apis:1.3.04:><stax:stax-api:1.0.1:>
>
> jar-pair:<org.codehaus.jackson:jackson-mapper-asl:1.9.13:><org.apache.hive:hive-exec:1.2.1:>
>
> jar-pair:<javax.servlet:javax.servlet-api:3.1.0:><javax.servlet:servlet-api:2.5:>
>
> jar-pair:<org.apache.commons:commons-lang3:3.5:><org.apache.hive:hive-exec:1.2.1:>
>
> jar-pair:<commons-logging:commons-logging:1.1.3:><org.slf4j:jcl-over-slf4j:1.7.16:>
> jar-pair:<org.apache.hive:hive-exec:1.2.1:><com.google.guava:guava:16.0.1:>
> jar-pair:<javax.xml.stream:stax-api:1.0-2:><stax:stax-api:1.0.1:>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)