Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

jackson-core-asl version #239

Closed
tnbredillet opened this Issue Aug 5, 2014 · 24 comments

Comments

Projects
None yet
5 participants
@tnbredillet
Copy link

tnbredillet commented Aug 5, 2014

It seems that whenever I want to use elasticsearch-hadoop and spark I get the following issue :

java.lang.NoClassDefFoundError: org/codehaus/jackson/annotate/JsonClass
        org.codehaus.jackson.map.introspect.JacksonAnnotationIntrospector.findDeserializationType(JacksonAnnotationIntrospector.java:524)
        org.codehaus.jackson.map.deser.BasicDeserializerFactory.modifyTypeByAnnotation(BasicDeserializerFactory.java:732)
        org.codehaus.jackson.map.deser.BasicDeserializerFactory.createMapDeserializer(BasicDeserializerFactory.java:337)
        org.codehaus.jackson.map.deser.StdDeserializerProvider._createDeserializer(StdDeserializerProvider.java:377)
        org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCache2(StdDeserializerProvider.java:307)
        org.codehaus.jackson.map.deser.StdDeserializerProvider._createAndCacheValueDeserializer(StdDeserializerProvider.java:287)
        org.codehaus.jackson.map.deser.StdDeserializerProvider.findValueDeserializer(StdDeserializerProvider.java:136)
        org.codehaus.jackson.map.deser.StdDeserializerProvider.findTypedValueDeserializer(StdDeserializerProvider.java:157)
        org.codehaus.jackson.map.ObjectMapper._findRootDeserializer(ObjectMapper.java:2468)
        org.codehaus.jackson.map.ObjectMapper._readValue(ObjectMapper.java:2383)
        org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1094)
        org.elasticsearch.hadoop.rest.RestClient.parseContent(RestClient.java:119)
        org.elasticsearch.hadoop.rest.RestClient.get(RestClient.java:108)
        org.elasticsearch.hadoop.rest.RestClient.discoverNodes(RestClient.java:90)
        org.elasticsearch.hadoop.rest.InitializationUtils.discoverNodesIfNeeded(InitializationUtils.java:61)
        org.elasticsearch.hadoop.mr.EsOutputFormat$EsRecordWriter.init(EsOutputFormat.java:182)
        org.elasticsearch.hadoop.mr.EsOutputFormat$EsRecordWriter.write(EsOutputFormat.java:159)

It happens because elasticsearch-hadoop uses JsonClass which is a deprecated class of jackson-core-asl 1.8.11 while spark uses jackson-core-asl 1.9.x which doesn't have this class anymore those two versions were conflicting.

I did solve my issue by telling the sbt conflict manager to force the older version of jackson-core-asl but it'd be great if you guys could either ugrade the jackson version or use the non depecrated jackson methods :-)

In any case thanks for your great work elasticsearch-hadoop is super useful.

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 5, 2014

Thanks for reporting the issue - will look into it. FTR, we depend on jackson 1.8.x simply because that's the version Hadoop uses...

costin added a commit that referenced this issue Aug 5, 2014

costin added a commit that referenced this issue Aug 5, 2014

Improve compatibility with Jackson 1.9.x
relates #239

(cherry picked from commit 906816e)

@costin costin added v2.0.1 labels Aug 5, 2014

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 5, 2014

Hi,

I've fixed the issue in master - you can either build the sources yourself or wait for the nightly build to be published to Maven in the next 30' or so.

@costin costin closed this Aug 5, 2014

@costin costin added the spark label Aug 5, 2014

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 5, 2014

@tnbredillet The next build is 408 and you can track it here

@tnbredillet

This comment has been minimized.

Copy link
Author

tnbredillet commented Aug 6, 2014

Thanks a lot for the amazingly fast work :-)

@bzz

This comment has been minimized.

Copy link

bzz commented Aug 6, 2014

Was bitten by the same issue on spark 1.0.1 and an application using elasticsearch-hadoop-mr at least for now, with latest snapshot
elasticsearch-hadoop-mr-2.1.0.BUILD-20140806.011945-73.pom Tue Aug 05 20:19:45 CDT 2014 2048 can not get it working, every time got the same exception.
I just pack elasticsearch-hadoop-mr inside application jar which is then used with spark-submit script

I also tried building from sources a master branch of elasticsearch-hadoop and using it - all with the same result.
Changing jacksonVersion in gradle.priperties to i.e to 1.9.13 fails the compilation of BackportedObjectReader

@tnbredillet when you are talking about sbt conflict manager, did you mean your application build or spark one?

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

@bzz can you please raise a new issue? The binaries are compatible with jackson 1.9.13 but the source code isn't (hence why it compiles against 1.8.8 but not 1.9.13).

@tnbredillet

This comment has been minimized.

Copy link
Author

tnbredillet commented Aug 6, 2014

@bzz so you're saying the fix from yesterday didn't work ? ( I haven't tested it yet )

I built a custom spark jar by removing the spark-core dependencies that were pulling jackson-core-1.9.13

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

@tnbredillet why don't you try the latest snapshot for yourself and see whether the fix works for you or not?

Cheers,

@tnbredillet

This comment has been minimized.

Copy link
Author

tnbredillet commented Aug 6, 2014

@costin just did it and I'm still getting the same issue ( same stacktrace than above ) :-/

@bzz

This comment has been minimized.

Copy link

bzz commented Aug 6, 2014

@costin #241 was created.
But I'm not sure I understand what does mean that 'binaries are compatible with 1.9.13' if sources are not complied with this one as a dependency.

@tnbredillet so you mean rebuilding spark without spark-sql\flume solves the issue.. and then re-deploying to whole cluster

@tnbredillet

This comment has been minimized.

Copy link
Author

tnbredillet commented Aug 6, 2014

@bzz yeah it's a dirty hack.. You said you had that issue with spark 1.0.1 does that mean that you tried with older versions of spark and it worked ?

@bzz

This comment has been minimized.

Copy link

bzz commented Aug 6, 2014

@tnbredillet did not try but looking though 0.9.2 dependency list I can see Kafka, ZeroMQ, Twitter, Spark Streaming using org.codehaus.jackson:jackson-core-asl:jar:1.9.x but spark-core though hadoop-client is bringing 1.8.8 so I guess that should not work either

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

@bzz it means you need Jackson 1.8.8 to compile the code which should run on both 1.8.x and 1.9. The code branch compatible with 1.8 is simply ignored at runtime when running under 1.9.

@bzz @tnbredillet can you please post your classpath (whether it's from sbt, gradle, mvn, what have you)?
Cheers,

@costin costin reopened this Aug 6, 2014

@tnbredillet

This comment has been minimized.

Copy link
Author

tnbredillet commented Aug 6, 2014

There you go :-)

List(
Attributed(/Users/.../.sbt/boot/scala-2.10.4/lib/scala-library.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.spark/spark-core_2.10/jars/spark-core_2.10-1.0.2.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hadoop/hadoop-client/jars/hadoop-client-1.0.4.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hadoop/hadoop-core/jars/hadoop-core-1.0.4.jar), 
Attributed(/Users/.../.ivy2/cache/xmlenc/xmlenc/jars/xmlenc-0.52.jar), 
Attributed(/Users/.../.ivy2/cache/commons-codec/commons-codec/jars/commons-codec-1.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.commons/commons-math/jars/commons-math-2.1.jar), 
Attributed(/Users/.../.ivy2/cache/commons-configuration/commons-configuration/jars/commons-configuration-1.6.jar), 
Attributed(/Users/.../.ivy2/cache/commons-collections/commons-collections/jars/commons-collections-3.2.1.jar), 
Attributed(/Users/.../.ivy2/cache/commons-lang/commons-lang/jars/commons-lang-2.4.jar), 
Attributed(/Users/.../.ivy2/cache/commons-digester/commons-digester/jars/commons-digester-1.8.jar), 
Attributed(/Users/.../.ivy2/cache/commons-beanutils/commons-beanutils/jars/commons-beanutils-1.7.0.jar), 
Attributed(/Users/.../.ivy2/cache/commons-beanutils/commons-beanutils-core/jars/commons-beanutils-core-1.8.0.jar), 
Attributed(/Users/.../.ivy2/cache/commons-net/commons-net/jars/commons-net-2.2.jar), 
Attributed(/Users/.../.ivy2/cache/commons-el/commons-el/jars/commons-el-1.0.jar), 
Attributed(/Users/.../.ivy2/cache/hsqldb/hsqldb/jars/hsqldb-1.8.0.10.jar), 
Attributed(/Users/.../.ivy2/cache/oro/oro/jars/oro-2.0.8.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.curator/curator-recipes/bundles/curator-recipes-2.4.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.curator/curator-framework/bundles/curator-framework-2.4.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.curator/curator-client/bundles/curator-client-2.4.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.zookeeper/zookeeper/jars/zookeeper-3.4.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.slf4j/slf4j-log4j12/jars/slf4j-log4j12-1.7.5.jar), 
Attributed(/Users/.../.ivy2/cache/log4j/log4j/bundles/log4j-1.2.17.jar), 
Attributed(/Users/.../.ivy2/cache/jline/jline/jars/jline-0.9.94.jar), 
Attributed(/Users/.../.ivy2/cache/com.google.guava/guava/bundles/guava-14.0.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-plus/jars/jetty-plus-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty.orbit/javax.transaction/orbits/javax.transaction-1.1.1.v201105210645.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-webapp/jars/jetty-webapp-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-xml/jars/jetty-xml-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-util/jars/jetty-util-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-servlet/jars/jetty-servlet-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-security/jars/jetty-security-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-server/jars/jetty-server-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty.orbit/javax.servlet/orbits/javax.servlet-3.0.0.v201112011016.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-continuation/jars/jetty-continuation-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-http/jars/jetty-http-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-io/jars/jetty-io-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty/jetty-jndi/jars/jetty-jndi-8.1.14.v20131031.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty.orbit/javax.mail.glassfish/orbits/javax.mail.glassfish-1.4.1.v201005082020.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty.orbit/javax.activation/orbits/javax.activation-1.1.0.v201105071233.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.3.2.jar), 
Attributed(/Users/.../.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-1.3.9.jar), 
Attributed(/Users/.../.ivy2/cache/org.slf4j/jul-to-slf4j/jars/jul-to-slf4j-1.7.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.slf4j/jcl-over-slf4j/jars/jcl-over-slf4j-1.7.5.jar), 
Attributed(/Users/.../.ivy2/cache/com.ning/compress-lzf/bundles/compress-lzf-1.0.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.xerial.snappy/snappy-java/bundles/snappy-java-1.0.5.jar), 
Attributed(/Users/.../.ivy2/cache/com.twitter/chill_2.10/jars/chill_2.10-0.3.6.jar), 
Attributed(/Users/.../.ivy2/cache/com.twitter/chill-java/jars/chill-java-0.3.6.jar), 
Attributed(/Users/.../.ivy2/cache/com.esotericsoftware.kryo/kryo/bundles/kryo-2.21.jar), 
Attributed(/Users/.../.ivy2/cache/com.esotericsoftware.reflectasm/reflectasm/jars/reflectasm-1.07-shaded.jar), 
Attributed(/Users/.../.ivy2/cache/com.esotericsoftware.minlog/minlog/jars/minlog-1.2.jar), 
Attributed(/Users/.../.ivy2/cache/org.objenesis/objenesis/jars/objenesis-1.2.jar), 
Attributed(/Users/.../.ivy2/cache/org.spark-project.akka/akka-remote_2.10/bundles/akka-remote_2.10-2.2.3-shaded-protobuf.jar), 
Attributed(/Users/.../.ivy2/cache/org.spark-project.akka/akka-actor_2.10/jars/akka-actor_2.10-2.2.3-shaded-protobuf.jar), 
Attributed(/Users/.../.ivy2/cache/org.spark-project.protobuf/protobuf-java/jars/protobuf-java-2.4.1-shaded.jar), 
Attributed(/Users/.../.ivy2/cache/org.uncommons.maths/uncommons-maths/jars/uncommons-maths-1.2.2a.jar), 
Attributed(/Users/.../.ivy2/cache/org.spark-project.akka/akka-slf4j_2.10/bundles/akka-slf4j_2.10-2.2.3-shaded-protobuf.jar), 
Attributed(/Users/.../.ivy2/cache/org.json4s/json4s-jackson_2.10/jars/json4s-jackson_2.10-3.2.6.jar), 
Attributed(/Users/.../.ivy2/cache/org.json4s/json4s-core_2.10/jars/json4s-core_2.10-3.2.6.jar), 
Attributed(/Users/.../.ivy2/cache/org.json4s/json4s-ast_2.10/jars/json4s-ast_2.10-3.2.6.jar), 
Attributed(/Users/.../.ivy2/cache/com.thoughtworks.paranamer/paranamer/jars/paranamer-2.6.jar), 
Attributed(/Users/.../.ivy2/cache/org.scala-lang/scalap/jars/scalap-2.10.4.jar), 
Attributed(/Users/.../.sbt/boot/scala-2.10.4/lib/scala-compiler.jar), 
Attributed(/Users/.../.sbt/boot/scala-2.10.4/lib/scala-reflect.jar), 
Attributed(/Users/.../.ivy2/cache/com.fasterxml.jackson.core/jackson-databind/bundles/jackson-databind-2.3.0.jar), 
Attributed(/Users/.../.ivy2/cache/com.fasterxml.jackson.core/jackson-annotations/bundles/jackson-annotations-2.3.0.jar), 
Attributed(/Users/.../.ivy2/cache/com.fasterxml.jackson.core/jackson-core/bundles/jackson-core-2.3.0.jar), 
Attributed(/Users/.../.ivy2/cache/colt/colt/jars/colt-1.2.0.jar), 
Attributed(/Users/.../.ivy2/cache/concurrent/concurrent/jars/concurrent-1.3.4.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.mesos/mesos/jars/mesos-0.18.1-shaded-protobuf.jar), 
Attributed(/Users/.../.ivy2/cache/io.netty/netty-all/jars/netty-all-4.0.17.Final.jar), 
Attributed(/Users/.../.ivy2/cache/com.clearspring.analytics/stream/jars/stream-2.5.1.jar), 
Attributed(/Users/.../.ivy2/cache/com.codahale.metrics/metrics-core/bundles/metrics-core-3.0.0.jar), 
Attributed(/Users/.../.ivy2/cache/com.codahale.metrics/metrics-jvm/bundles/metrics-jvm-3.0.0.jar), 
Attributed(/Users/.../.ivy2/cache/com.codahale.metrics/metrics-json/bundles/metrics-json-3.0.0.jar), 
Attributed(/Users/.../.ivy2/cache/com.codahale.metrics/metrics-graphite/bundles/metrics-graphite-3.0.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.tachyonproject/tachyon/jars/tachyon-0.4.1-thrift.jar), 
Attributed(/Users/.../.ivy2/cache/commons-io/commons-io/jars/commons-io-2.4.jar), 
Attributed(/Users/.../.ivy2/cache/org.spark-project/pyrolite/jars/pyrolite-2.0.1.jar), 
Attributed(/Users/.../.ivy2/cache/net.sf.py4j/py4j/jars/py4j-0.8.1.jar), 
Attributed(/Users/.../.ivy2/cache/net.java.dev.jets3t/jets3t/jars/jets3t-0.7.1.jar), 
Attributed(/Users/.../.ivy2/cache/commons-httpclient/commons-httpclient/jars/commons-httpclient-3.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.elasticsearch/elasticsearch-hadoop/jars/elasticsearch-hadoop-2.1.0.BUILD-SNAPSHOT.jar), 
Attributed(/Users/.../.ivy2/cache/cascading/cascading-hadoop/jars/cascading-hadoop-2.5.4.jar), 
Attributed(/Users/.../.ivy2/cache/cascading/cascading-core/jars/cascading-core-2.5.4.jar), 
Attributed(/Users/.../.ivy2/cache/riffle/riffle/jars/riffle-0.1-dev.jar), 
Attributed(/Users/.../.ivy2/cache/thirdparty/jgrapht-jdk1.6/jars/jgrapht-jdk1.6-0.8.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.codehaus.janino/janino/jars/janino-2.6.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.codehaus.janino/commons-compiler/jars/commons-compiler-2.6.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-service/jars/hive-service-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-exec/jars/hive-exec-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-ant/jars/hive-ant-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.ant/ant/jars/ant-1.9.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.ant/ant-launcher/jars/ant-launcher-1.9.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.velocity/velocity/jars/velocity-1.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-metastore/jars/hive-metastore-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-serde/jars/hive-serde-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-common/jars/hive-common-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive/hive-shims/jars/hive-shims-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive.shims/hive-shims-common/jars/hive-shims-common-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/commons-logging/commons-logging/jars/commons-logging-1.1.3.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.thrift/libthrift/jars/libthrift-0.9.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.httpcomponents/httpclient/jars/httpclient-4.2.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.httpcomponents/httpcore/jars/httpcore-4.2.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive.shims/hive-shims-common-secure/jars/hive-shims-common-secure-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/commons-cli/commons-cli/jars/commons-cli-1.2.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.commons/commons-compress/jars/commons-compress-1.4.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.tukaani/xz/jars/xz-1.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.avro/avro/jars/avro-1.7.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.codehaus.jackson/jackson-core-asl/jars/jackson-core-asl-1.9.2.jar), 
Attributed(/Users/.../.ivy2/cache/org.codehaus.jackson/jackson-mapper-asl/jars/jackson-mapper-asl-1.9.2.jar), 
Attributed(/Users/.../.ivy2/cache/com.jolbox/bonecp/bundles/bonecp-0.8.0.RELEASE.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.derby/derby/jars/derby-10.10.1.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.datanucleus/datanucleus-api-jdo/jars/datanucleus-api-jdo-3.2.6.jar), 
Attributed(/Users/.../.ivy2/cache/org.datanucleus/datanucleus-core/jars/datanucleus-core-3.2.10.jar), 
Attributed(/Users/.../.ivy2/cache/org.datanucleus/datanucleus-rdbms/jars/datanucleus-rdbms-3.2.9.jar), 
Attributed(/Users/.../.ivy2/cache/javax.jdo/jdo-api/jars/jdo-api-3.0.1.jar), 
Attributed(/Users/.../.ivy2/cache/javax.transaction/jta/jars/jta-1.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.antlr/antlr-runtime/jars/antlr-runtime-3.4.jar), 
Attributed(/Users/.../.ivy2/cache/org.antlr/stringtemplate/jars/stringtemplate-3.2.1.jar), 
Attributed(/Users/.../.ivy2/cache/antlr/antlr/jars/antlr-2.7.7.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.thrift/libfb303/jars/libfb303-0.9.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.antlr/ST4/jars/ST4-4.0.4.jar), 
Attributed(/Users/.../.ivy2/cache/org.codehaus.groovy/groovy-all/jars/groovy-all-2.1.6.jar), 
Attributed(/Users/.../.ivy2/cache/stax/stax-api/jars/stax-api-1.0.1.jar), 
Attributed(/Users/.../.ivy2/cache/net.sf.jpam/jpam/jars/jpam-1.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jetty.aggregate/jetty-all/jars/jetty-all-7.6.0.v20120127.jar), 
Attributed(/Users/.../.ivy2/cache/javax.servlet/servlet-api/jars/servlet-api-2.5.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.geronimo.specs/geronimo-jta_1.1_spec/jars/geronimo-jta_1.1_spec-1.1.1.jar), 
Attributed(/Users/.../.ivy2/cache/javax.mail/mail/jars/mail-1.4.1.jar), 
Attributed(/Users/.../.ivy2/cache/javax.activation/activation/jars/activation-1.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.geronimo.specs/geronimo-jaspic_1.0_spec/bundles/geronimo-jaspic_1.0_spec-1.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.geronimo.specs/geronimo-annotation_1.0_spec/jars/geronimo-annotation_1.0_spec-1.1.1.jar), 
Attributed(/Users/.../.ivy2/cache/asm/asm-commons/jars/asm-commons-3.1.jar), 
Attributed(/Users/.../.ivy2/cache/asm/asm-tree/jars/asm-tree-3.1.jar), 
Attributed(/Users/.../.ivy2/cache/asm/asm/jars/asm-3.1.jar), 
Attributed(/Users/.../.ivy2/cache/javax.servlet/javax.servlet-api/jars/javax.servlet-api-3.0.1.jar), 
Attributed(/Users/.../.ivy2/cache/cascading/cascading-local/jars/cascading-local-2.5.4.jar), 
Attributed(/Users/.../.ivy2/cache/joda-time/joda-time/jars/joda-time-1.6.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.pig/pig/jars/pig-0.13.0.jar), 
Attributed(/Users/.../.ivy2/cache/org.mortbay.jetty/jetty/jars/jetty-6.1.26.jar), 
Attributed(/Users/.../.ivy2/cache/org.mortbay.jetty/jetty-util/jars/jetty-util-6.1.26.jar), 
Attributed(/Users/.../.ivy2/cache/org.mortbay.jetty/servlet-api/jars/servlet-api-2.5-20081211.jar), 
Attributed(/Users/.../.ivy2/cache/tomcat/jasper-runtime/jars/jasper-runtime-5.5.12.jar), 
Attributed(/Users/.../.ivy2/cache/tomcat/jasper-compiler/jars/jasper-compiler-5.5.12.jar), 
Attributed(/Users/.../.ivy2/cache/org.mortbay.jetty/jsp-api-2.1/jars/jsp-api-2.1-6.1.14.jar), 
Attributed(/Users/.../.ivy2/cache/org.mortbay.jetty/servlet-api-2.5/jars/servlet-api-2.5-6.1.14.jar), 
Attributed(/Users/.../.ivy2/cache/org.mortbay.jetty/jsp-2.1/jars/jsp-2.1-6.1.14.jar), 
Attributed(/Users/.../.ivy2/cache/org.eclipse.jdt/core/jars/core-3.1.1.jar), 
Attributed(/Users/.../.ivy2/cache/ant/ant/jars/ant-1.6.5.jar), 
Attributed(/Users/.../.ivy2/cache/net.sf.kosmosfs/kfs/jars/kfs-0.3.jar), 
Attributed(/Users/.../.ivy2/cache/junit/junit/jars/junit-4.8.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive.shims/hive-shims-0.20/jars/hive-shims-0.20-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive.shims/hive-shims-0.20S/jars/hive-shims-0.20S-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/org.apache.hive.shims/hive-shims-0.23/jars/hive-shims-0.23-0.13.1.jar), 
Attributed(/Users/.../.ivy2/cache/com.typesafe.akka/akka-actor_2.10/jars/akka-actor_2.10-2.3.4.jar), 
Attributed(/Users/.../.ivy2/cache/com.typesafe/config/bundles/config-1.2.1.jar), 
Attributed(/Users/.../.ivy2/cache/com.typesafe.akka/akka-remote_2.10/jars/akka-remote_2.10-2.3.4.jar), 
Attributed(/Users/.../.ivy2/cache/io.netty/netty/bundles/netty-3.8.0.Final.jar), 
Attributed(/Users/.../.ivy2/cache/com.google.protobuf/protobuf-java/bundles/protobuf-java-2.5.0.jar))
@bzz

This comment has been minimized.

Copy link

bzz commented Aug 6, 2014

@costin Sorry, I'm confused, are you talking about spark application runtime classpath (spark worker JVM process)? Or is it compile time one?

From ./gradlew dependencies:

default - Configuration for default artifacts.
+--- com.google.guava:guava:15.0
\--- org.elasticsearch:elasticsearch-hadoop-mr:2.1.0.BUILD-SNAPSHOT

provided
+--- org.apache.spark:spark-core_2.10:1.0.1
\--- org.apache.spark:spark-streaming_2.10:1.0.1

runtime - Runtime classpath for source set 'main'.
+--- com.google.guava:guava:15.0
+--- org.elasticsearch:elasticsearch-hadoop-mr:2.1.0.BUILD-SNAPSHOT
+--- org.apache.spark:spark-core_2.10:1.0.1
|    +--- org.apache.hadoop:hadoop-client:1.0.4
|    |    \--- org.apache.hadoop:hadoop-core:1.0.4
|    |         +--- xmlenc:xmlenc:0.52
|    |         +--- commons-codec:commons-codec:1.4
|    |         +--- org.apache.commons:commons-math:2.1
|    |         +--- commons-configuration:commons-configuration:1.6
|    |         |    +--- commons-collections:commons-collections:3.2.1
|    |         |    +--- commons-lang:commons-lang:2.4
|    |         |    +--- commons-digester:commons-digester:1.8
|    |         |    |    \--- commons-beanutils:commons-beanutils:1.7.0
|    |         |    \--- commons-beanutils:commons-beanutils-core:1.8.0
|    |         +--- commons-net:commons-net:1.4.1 -> 2.2
|    |         +--- commons-el:commons-el:1.0
|    |         +--- hsqldb:hsqldb:1.8.0.10
|    |         +--- oro:oro:2.0.8
|    |         \--- org.codehaus.jackson:jackson-mapper-asl:1.0.1
|    |              \--- org.codehaus.jackson:jackson-core-asl:1.0.1
|    +--- net.java.dev.jets3t:jets3t:0.7.1
|    |    +--- commons-codec:commons-codec:1.3 -> 1.4
|    |    \--- commons-httpclient:commons-httpclient:3.1
|    |         \--- commons-codec:commons-codec:1.2 -> 1.4
|    +--- org.apache.curator:curator-recipes:2.4.0
|    |    +--- org.apache.curator:curator-framework:2.4.0
|    |    |    +--- org.apache.curator:curator-client:2.4.0
|    |    |    |    +--- org.slf4j:slf4j-api:1.6.4 -> 1.7.5
|    |    |    |    +--- org.apache.zookeeper:zookeeper:3.4.5
|    |    |    |    |    +--- org.slf4j:slf4j-api:1.6.1 -> 1.7.5
|    |    |    |    |    +--- org.slf4j:slf4j-log4j12:1.6.1 -> 1.7.5
|    |    |    |    |    |    +--- org.slf4j:slf4j-api:1.7.5
|    |    |    |    |    |    \--- log4j:log4j:1.2.17
|    |    |    |    |    +--- log4j:log4j:1.2.15 -> 1.2.17
|    |    |    |    |    \--- jline:jline:0.9.94
|    |    |    |    \--- com.google.guava:guava:14.0.1 -> 15.0
|    |    |    +--- org.apache.zookeeper:zookeeper:3.4.5 (*)
|    |    |    \--- com.google.guava:guava:14.0.1 -> 15.0
|    |    +--- org.apache.zookeeper:zookeeper:3.4.5 (*)
|    |    \--- com.google.guava:guava:14.0.1 -> 15.0
|    +--- org.eclipse.jetty:jetty-plus:8.1.14.v20131031
|    |    +--- org.eclipse.jetty.orbit:javax.transaction:1.1.1.v201105210645
|    |    +--- org.eclipse.jetty:jetty-webapp:8.1.14.v20131031
|    |    |    +--- org.eclipse.jetty:jetty-xml:8.1.14.v20131031
|    |    |    |    \--- org.eclipse.jetty:jetty-util:8.1.14.v20131031
|    |    |    \--- org.eclipse.jetty:jetty-servlet:8.1.14.v20131031
|    |    |         \--- org.eclipse.jetty:jetty-security:8.1.14.v20131031
|    |    |              \--- org.eclipse.jetty:jetty-server:8.1.14.v20131031
|    |    |                   +--- org.eclipse.jetty.orbit:javax.servlet:3.0.0.v201112011016
|    |    |                   +--- org.eclipse.jetty:jetty-continuation:8.1.14.v20131031
|    |    |                   \--- org.eclipse.jetty:jetty-http:8.1.14.v20131031
|    |    |                        \--- org.eclipse.jetty:jetty-io:8.1.14.v20131031
|    |    |                             \--- org.eclipse.jetty:jetty-util:8.1.14.v20131031
|    |    \--- org.eclipse.jetty:jetty-jndi:8.1.14.v20131031
|    |         +--- org.eclipse.jetty:jetty-server:8.1.14.v20131031 (*)
|    |         \--- org.eclipse.jetty.orbit:javax.mail.glassfish:1.4.1.v201005082020
|    |              \--- org.eclipse.jetty.orbit:javax.activation:1.1.0.v201105071233
|    +--- org.eclipse.jetty:jetty-security:8.1.14.v20131031 (*)
|    +--- org.eclipse.jetty:jetty-util:8.1.14.v20131031
|    +--- org.eclipse.jetty:jetty-server:8.1.14.v20131031 (*)
|    +--- com.google.guava:guava:14.0.1 -> 15.0
|    +--- org.apache.commons:commons-lang3:3.3.2
|    +--- com.google.code.findbugs:jsr305:1.3.9
|    +--- org.slf4j:slf4j-api:1.7.5
|    +--- org.slf4j:jul-to-slf4j:1.7.5
|    |    \--- org.slf4j:slf4j-api:1.7.5
|    +--- org.slf4j:jcl-over-slf4j:1.7.5
|    |    \--- org.slf4j:slf4j-api:1.7.5
|    +--- log4j:log4j:1.2.17
|    +--- org.slf4j:slf4j-log4j12:1.7.5 (*)
|    +--- com.ning:compress-lzf:1.0.0
|    +--- org.xerial.snappy:snappy-java:1.0.5
|    +--- com.twitter:chill_2.10:0.3.6
|    |    +--- org.scala-lang:scala-library:2.10.3 -> 2.10.4
|    |    +--- com.twitter:chill-java:0.3.6
|    |    |    \--- com.esotericsoftware.kryo:kryo:2.21
|    |    |         +--- com.esotericsoftware.reflectasm:reflectasm:1.07
|    |    |         +--- com.esotericsoftware.minlog:minlog:1.2
|    |    |         \--- org.objenesis:objenesis:1.2
|    |    \--- com.esotericsoftware.kryo:kryo:2.21 (*)
|    +--- com.twitter:chill-java:0.3.6 (*)
|    +--- commons-net:commons-net:2.2
|    +--- org.spark-project.akka:akka-remote_2.10:2.2.3-shaded-protobuf
|    |    +--- org.spark-project.akka:akka-actor_2.10:2.2.3-shaded-protobuf
|    |    |    +--- org.scala-lang:scala-library:2.10.2 -> 2.10.4
|    |    |    \--- com.typesafe:config:1.0.2
|    |    +--- org.scala-lang:scala-library:2.10.2 -> 2.10.4
|    |    +--- io.netty:netty:3.6.6.Final
|    |    +--- org.spark-project.protobuf:protobuf-java:2.4.1-shaded
|    |    \--- org.uncommons.maths:uncommons-maths:1.2.2a
|    +--- org.spark-project.akka:akka-slf4j_2.10:2.2.3-shaded-protobuf
|    |    +--- org.spark-project.akka:akka-actor_2.10:2.2.3-shaded-protobuf (*)
|    |    +--- org.scala-lang:scala-library:2.10.2 -> 2.10.4
|    |    \--- org.slf4j:slf4j-api:1.7.2 -> 1.7.5
|    +--- org.scala-lang:scala-library:2.10.4
|    +--- org.json4s:json4s-jackson_2.10:3.2.6
|    |    +--- org.scala-lang:scala-library:2.10.0 -> 2.10.4
|    |    +--- org.json4s:json4s-core_2.10:3.2.6
|    |    |    +--- org.scala-lang:scala-library:2.10.0 -> 2.10.4
|    |    |    +--- org.json4s:json4s-ast_2.10:3.2.6
|    |    |    |    \--- org.scala-lang:scala-library:2.10.0 -> 2.10.4
|    |    |    +--- com.thoughtworks.paranamer:paranamer:2.6
|    |    |    \--- org.scala-lang:scalap:2.10.0
|    |    |         \--- org.scala-lang:scala-compiler:2.10.0
|    |    |              +--- org.scala-lang:scala-library:2.10.0 -> 2.10.4
|    |    |              \--- org.scala-lang:scala-reflect:2.10.0
|    |    |                   \--- org.scala-lang:scala-library:2.10.0 -> 2.10.4
|    |    \--- com.fasterxml.jackson.core:jackson-databind:2.3.0
|    |         +--- com.fasterxml.jackson.core:jackson-annotations:2.3.0
|    |         \--- com.fasterxml.jackson.core:jackson-core:2.3.0
|    +--- colt:colt:1.2.0
|    |    \--- concurrent:concurrent:1.3.4
|    +--- org.apache.mesos:mesos:0.18.1
|    +--- io.netty:netty-all:4.0.17.Final
|    +--- com.clearspring.analytics:stream:2.5.1
|    +--- com.codahale.metrics:metrics-core:3.0.0
|    |    \--- org.slf4j:slf4j-api:1.7.5
|    +--- com.codahale.metrics:metrics-jvm:3.0.0
|    |    +--- com.codahale.metrics:metrics-core:3.0.0 (*)
|    |    \--- org.slf4j:slf4j-api:1.7.5
|    +--- com.codahale.metrics:metrics-json:3.0.0
|    |    +--- com.codahale.metrics:metrics-core:3.0.0 (*)
|    |    +--- com.fasterxml.jackson.core:jackson-databind:2.2.2 -> 2.3.0 (*)
|    |    \--- org.slf4j:slf4j-api:1.7.5
|    +--- com.codahale.metrics:metrics-graphite:3.0.0
|    |    +--- com.codahale.metrics:metrics-core:3.0.0 (*)
|    |    \--- org.slf4j:slf4j-api:1.7.5
|    +--- org.tachyonproject:tachyon:0.4.1-thrift
|    |    +--- org.apache.ant:ant:1.9.0
|    |    |    \--- org.apache.ant:ant-launcher:1.9.0
|    |    +--- org.slf4j:slf4j-api:1.7.2 -> 1.7.5
|    |    +--- org.slf4j:slf4j-log4j12:1.7.2 -> 1.7.5 (*)
|    |    +--- log4j:log4j:1.2.17
|    |    +--- commons-io:commons-io:2.4
|    |    \--- org.apache.commons:commons-lang3:3.0 -> 3.3.2
|    +--- org.spark-project:pyrolite:2.0.1
|    \--- net.sf.py4j:py4j:0.8.1
\--- org.apache.spark:spark-streaming_2.10:1.0.1
     +--- org.apache.spark:spark-core_2.10:1.0.1 (*)
     +--- org.eclipse.jetty:jetty-server:8.1.14.v20131031 (*)
     \--- org.scala-lang:scala-library:2.10.4

But only 'default' is packed to jar to be submitted to spark later.

@bzz

This comment has been minimized.

Copy link

bzz commented Aug 6, 2014

Wired.. there is org.codehaus.jackson:jackson-core-asl:1.0.1 and indeed, looks like published hadoop-core 1.0.4 artifact depends on it.
But in spark sources v1.0.1 there is only org.codehaus.jackson:jackson-core-asl:jar:1.8.8.. how come?

[INFO] ------------------------------------------------------------------------
[INFO] Building Spark Project Core 1.0.1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ spark-core_2.10 ---
[INFO] org.apache.spark:spark-core_2.10:jar:1.0.1
[INFO] +- org.apache.hadoop:hadoop-client:jar:1.0.4:compile
[INFO] |  \- org.apache.hadoop:hadoop-core:jar:1.0.4:compile
[INFO] |     +- xmlenc:xmlenc:jar:0.52:compile
[INFO] |     +- org.apache.commons:commons-math:jar:2.1:compile
[INFO] |     +- commons-configuration:commons-configuration:jar:1.6:compile
[INFO] |     |  +- commons-collections:commons-collections:jar:3.2.1:compile
[INFO] |     |  +- commons-lang:commons-lang:jar:2.4:compile
[INFO] |     |  +- commons-digester:commons-digester:jar:1.8:compile
[INFO] |     |  |  \- commons-beanutils:commons-beanutils:jar:1.7.0:compile
[INFO] |     |  \- commons-beanutils:commons-beanutils-core:jar:1.8.0:compile
[INFO] |     +- commons-el:commons-el:jar:1.0:compile
[INFO] |     +- hsqldb:hsqldb:jar:1.8.0.10:compile
[INFO] |     +- oro:oro:jar:2.0.8:compile
[INFO] |     \- org.codehaus.jackson:jackson-mapper-asl:jar:1.8.8:compile
[INFO] |        \- org.codehaus.jackson:jackson-core-asl:jar:1.8.8:compile
.....
@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

@bzz The jackson 1.0.1 is pulled in due to a bug in the maven manifest from Hadoop 1.0.4 (check 1.0.3 and 1.2.x) - or Hadoop runtime.
I'm interested in the runtime classpath since that's what causing the issue - most likely because multiple versions of jackson are available and are cross-loading classes.
I've noticed there's the 2.3.0 version plus the 1.0.1 version in your case or 2.3.0 and 1.9.x in @tnbredillet 's case.

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

@tnbredillet @bzz I've pushed a potential fix in master and published the artifacts in Maven. Can you please try the latest 2.1.0 snapshot and report back?

As far as I can tell, the error is not caused by es-hadoop but rather by the runtime classpath which causes Jackson to be initialized in an invalid way. That is, there are both 1.8 and 1.9 jars at the classpath and the classpath from 1.8 (jackson-mapper) tries to load class JsonClass (in jackson-core) but version 1.9 instead of 1.8 is loaded hence the CNFE.
However, I've tried to disable this behaviour in Jackson so it does not occur for you. Let me know if that's the case.

@tnbredillet

This comment has been minimized.

Copy link
Author

tnbredillet commented Aug 6, 2014

@costin
Fantastic it worked !
Thank you :-)

@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

Great! @bzz can you confirm?

costin added a commit that referenced this issue Aug 6, 2014

disable use of annotation within Jackson
a safety measure to prevent classpath issues with Jackson when
multiple versions are available
relates to #239

(cherry picked from commit ebf77af)
@costin

This comment has been minimized.

Copy link
Member

costin commented Aug 6, 2014

Closing the issue for now. Cheers!

@costin costin closed this Aug 6, 2014

costin added a commit that referenced this issue Aug 6, 2014

disable use of annotation within Jackson
a safety measure to prevent classpath issues with Jackson when
multiple versions are available
relates to #239
@bzz

This comment has been minimized.

Copy link

bzz commented Aug 7, 2014

Awesome job, @costin everything works now, thanks a lot!

@MLnick

This comment has been minimized.

Copy link
Contributor

MLnick commented Aug 8, 2014

@costin thanks for this fix. I was running into same issue on a new 1.0.0 Spark EC2 cluster and this fixed it!

@bohemia420

This comment has been minimized.

Copy link

bohemia420 commented Jun 11, 2016

guys, having spent a whole good day in here, still not got this error up working.

Please find my pom dependencies as well as the dependency tree below ->

pom deps : http://pastebin.com/WS4ytsYs
dep tree : http://pastebin.com/5gPKeF4C

also Although I am using 1.6.1 in dependencies for spark, I am running it against spark-1.2.0-bin-hadoop2.4 on single node.

Guys I went through a few probable solutions , but either none of those worked or I couldnt per se fully understand those. Kindly let me know. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.