elastic / elasticsearch-hadoop

:elephant: Elasticsearch real-time search and analytics natively integrated with Hadoop
https://www.elastic.co/products/hadoop
Apache License 2.0
1.93k stars 989 forks source link

jackson-core-asl version #239

Closed tnbred closed 10 years ago

tnbred commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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 commented 10 years ago

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

tnbred commented 10 years ago

Thanks a lot for the amazingly fast work :-)

bzz commented 10 years ago

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 commented 10 years ago

@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).

tnbred commented 10 years ago

@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 commented 10 years ago

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

Cheers,

tnbred commented 10 years ago

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

bzz commented 10 years ago

@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

tnbred commented 10 years ago

@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 commented 10 years ago

@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 commented 10 years ago

@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,

tnbred commented 10 years ago

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 commented 10 years ago

@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 commented 10 years ago

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 commented 10 years ago

@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 commented 10 years ago

@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.

tnbred commented 10 years ago

@costin Fantastic it worked ! Thank you :-)

costin commented 10 years ago

Great! @bzz can you confirm?

costin commented 10 years ago

Closing the issue for now. Cheers!

bzz commented 10 years ago

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

MLnick commented 10 years ago

@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 commented 8 years ago

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.