PandaMonkey created ATLAS-2437:
----------------------------------
Summary: When using org.apache.atlas:falcon-bridge:0.8.2,
conflicting classes are introduced from two different JARs:
<org.apache.zookeeper:zookeeper:3.4.6:><org.apache.atlas:atlas-graphdb-titan0:0.8.2:>,
which caused NoSuchMethodError
Key: ATLAS-2437
URL: https://issues.apache.org/jira/browse/ATLAS-2437
Project: Atlas
Issue Type: Bug
Components: atlas-core
Affects Versions: 0.8.2
Reporter: PandaMonkey
Fix For: 0.8.3
When using org.apache.atlas:falcon-bridge:0.8.2, conflicting classes are
introduced from two different JARs:
<org.apache.zookeeper:zookeeper:3.4.6:><org.apache.atlas:atlas-graphdb-titan0:0.8.2:>,
which leaded to our project throw *NoSuchMethodException.* Conflicting classes
mean that the classes with same name but have different implementations. Then
the JVM only load the classes present first on the classpath and shadow the
other duplicate ones. This is the main reason why our program crashed. By
analyzing the source code, the we found the conflicting details as follows. To
avoid the downstream projects encounter the same problem, please notice this
issue.
1. Risk for
jar-pair:<*javax.xml.stream:stax-api:1.0-2*:><*stax:stax-api:1.0.1*:>
Methods that only exist in javax.xml.stream:stax-api:1.0-2::
[neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.atlas:falcon-bridge:0.8.2:->org.apache.atlas:hive-bridge:0.8.2:->org.apache.hadoop:hadoop-client:2.7.1:->org.apache.hadoop:hadoop-mapreduce-client-core:2.7.1:->org.apache.hadoop:hadoop-yarn-common:2.7.1:->javax.xml.bind:jaxb-api:2.2.2:->javax.xml.stream:stax-api:1.0-2:]
<javax.xml.stream.XMLOutputFactory: javax.xml.stream.XMLInputFactory
newInstance(java.lang.String,java.lang.ClassLoader)>
methods that only exist in stax:stax-api:1.0.1::
[neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.atlas:falcon-bridge:0.8.2:->org.apache.atlas:atlas-typesystem:0.8.2:->org.codehaus.jettison:jettison:1.3.7:->stax:stax-api:1.0.1:]
<javax.xml.stream.FactoryFinder: java.lang.Class class$(java.lang.String)>
<javax.xml.stream.XMLOutputFactory: javax.xml.stream.XMLOutputFactory
newInstance(java.lang.String,java.lang.ClassLoader)>
2. Risk for jar-pair:<*stax:stax-api:1.0.1*:><*xml-apis:xml-apis:1.3.04*:>
Methods that only exist in xml-apis:xml-apis:1.3.04::
[neu.lab:findbug:0.0.1-SNAPSHOT:->org.apache.atlas:falcon-bridge:0.8.2:->org.apache.atlas:hive-bridge:0.8.2:->org.apache.hadoop:hadoop-client:2.7.1:->org.apache.hadoop:hadoop-hdfs:2.7.1:->xerces:xercesImpl:2.9.1:->xml-apis:xml-apis:1.3.04:]
<javax.xml.namespace.QName: void readObject(java.io.ObjectInputStream)>
<javax.xml.namespace.QName: void <clinit>()>
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)