Uploaded image for project: 'Atlas'
  1. Atlas
  2. ATLAS-2437

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

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 0.8.2
    • None
    • atlas-core
    • None

    Description

      When our project 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>()>

      Attachments

        Activity

          People

            Unassigned Unassigned
            PandaMonkey PandaMonkey
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: