[ 
https://issues.apache.org/jira/browse/PIG-4693?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14944494#comment-14944494
 ] 

Srikanth Sundarrajan commented on PIG-4693:
-------------------------------------------

Running the following simple pig script
{code}
IN = LOAD 'test-data' USING PigStorage('');
G = GROUP IN BY $11;
R = FOREACH G GENERATE group, SUM(IN.$10);
STORE R INTO 'test-out' USING PigStorage(',');
{code}

results in 

{noformat}
ERROR 2998: Unhandled internal error. 
com.esotericsoftware.kryo.Kryo.setInstantiatorStrategy(Lorg/objenesis/strategy/InstantiatorStrategy;)V

java.lang.NoSuchMethodError: 
com.esotericsoftware.kryo.Kryo.setInstantiatorStrategy(Lorg/objenesis/strategy/InstantiatorStrategy;)V
        at com.twitter.chill.KryoBase.setInstantiatorStrategy(KryoBase.scala:86)
        at 
com.twitter.chill.EmptyScalaKryoInstantiator.newKryo(ScalaKryoInstantiator.scala:59)
        at 
org.apache.spark.serializer.KryoSerializer.newKryo(KryoSerializer.scala:80)
        at 
org.apache.spark.serializer.KryoSerializerInstance.borrowKryo(KryoSerializer.scala:227)
        at 
org.apache.spark.serializer.KryoSerializerInstance.<init>(KryoSerializer.scala:212)
        at 
org.apache.spark.serializer.KryoSerializer.newInstance(KryoSerializer.scala:128)
        at 
org.apache.spark.broadcast.TorrentBroadcast$.blockifyObject(TorrentBroadcast.scala:201)
        at 
org.apache.spark.broadcast.TorrentBroadcast.writeBlocks(TorrentBroadcast.scala:102)
        at 
org.apache.spark.broadcast.TorrentBroadcast.<init>(TorrentBroadcast.scala:85)
        at 
org.apache.spark.broadcast.TorrentBroadcastFactory.newBroadcast(TorrentBroadcastFactory.scala:34)
        at 
org.apache.spark.broadcast.BroadcastManager.newBroadcast(BroadcastManager.scala:62)
        at org.apache.spark.SparkContext.broadcast(SparkContext.scala:1291)
        at org.apache.spark.rdd.NewHadoopRDD.<init>(NewHadoopRDD.scala:77)
        at 
org.apache.spark.SparkContext$$anonfun$newAPIHadoopRDD$1.apply(SparkContext.scala:1099)
        at 
org.apache.spark.SparkContext$$anonfun$newAPIHadoopRDD$1.apply(SparkContext.scala:1094)
        at 
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:147)
        at 
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:108)
        at org.apache.spark.SparkContext.withScope(SparkContext.scala:681)
        at 
org.apache.spark.SparkContext.newAPIHadoopRDD(SparkContext.scala:1094)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.converter.LoadConverter.convert(LoadConverter.java:88)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.converter.LoadConverter.convert(LoadConverter.java:58)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.physicalToRDD(SparkLauncher.java:636)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.physicalToRDD(SparkLauncher.java:603)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.physicalToRDD(SparkLauncher.java:603)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.physicalToRDD(SparkLauncher.java:603)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.physicalToRDD(SparkLauncher.java:603)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.physicalToRDD(SparkLauncher.java:603)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.sparkOperToRDD(SparkLauncher.java:555)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.sparkPlanToRDD(SparkLauncher.java:504)
        at 
org.apache.pig.backend.hadoop.executionengine.spark.SparkLauncher.launchPig(SparkLauncher.java:206)
        at 
org.apache.pig.backend.hadoop.executionengine.HExecutionEngine.launchPig(HExecutionEngine.java:301)
        at org.apache.pig.PigServer.launchPlan(PigServer.java:1390)
        at 
org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1375)
        at org.apache.pig.PigServer.execute(PigServer.java:1364)
        at org.apache.pig.PigServer.executeBatch(PigServer.java:415)
        at org.apache.pig.PigServer.executeBatch(PigServer.java:398)
        at 
org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:171)
        at 
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:234)
        at 
org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:205)
        at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81)
        at org.apache.pig.Main.run(Main.java:624)
        at org.apache.pig.Main.main(Main.java:170)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.hadoop.util.RunJar.run(RunJar.java:221)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:136)
================================================================================
{noformat}

Here is the logs from the class-loader:

{noformat}
[Loaded org.apache.spark.broadcast.TorrentBroadcast$$anonfun$5 from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded org.apache.spark.serializer.KryoSerializationStream from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded org.apache.spark.serializer.KryoDeserializationStream from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.twitter.chill.KryoInstantiator from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.twitter.chill.EmptyScalaKryoInstantiator from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.twitter.chill.KryoInstantiator$3 from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.twitter.chill.KryoInstantiator$2 from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.twitter.chill.KryoInstantiator$1 from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.twitter.chill.KryoInstantiator$4 from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded org.objenesis.strategy.InstantiatorStrategy from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.esotericsoftware.kryo.KryoException from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.ClassResolver from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.StreamFactory from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.factories.SerializerFactory from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.serializers.DefaultSerializers$IntSerializer 
from file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded 
com.esotericsoftware.kryo.serializers.DefaultSerializers$StringSerializer from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded 
com.esotericsoftware.kryo.serializers.DefaultSerializers$FloatSerializer from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded 
com.esotericsoftware.kryo.serializers.DefaultSerializers$BooleanSerializer from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.serializers.DefaultSerializers$ByteSerializer 
from file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.serializers.DefaultSerializers$CharSerializer 
from file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded 
com.esotericsoftware.kryo.serializers.DefaultSerializers$ShortSerializer from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.serializers.DefaultSerializers$LongSerializer 
from file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded 
com.esotericsoftware.kryo.serializers.DefaultSerializers$DoubleSerializer from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.serializers.DefaultSerializers$VoidSerializer 
from file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.esotericsoftware.kryo.ReferenceResolver from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded 
com.esotericsoftware.shaded.org.objenesis.instantiator.ObjectInstantiator from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
[Loaded com.twitter.chill.ObjectSerializer from 
file:/data/d1/home/sriksun/pig/lib/spark/spark-assembly-1.4.1-hadoop2.2.0.jar]
[Loaded com.esotericsoftware.kryo.serializers.FieldSerializer from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
/hdp/2.2.0.0-2041/hadoop-hdfs/hadoop-hdfs-2.6.0.2.2.0.0-2041.jar]
[Loaded com.esotericsoftware.kryo.util.DefaultClassResolver from 
file:/data/d1/home/sriksun/pig/lib/kryo-2.22.jar]
{noformat}

org.objenesis.strategy.InstantiatorStrategy is used to set the 
InstantiatorStrategy in Kryo, where Kryo in 2.22 requires shaded 
com.esotericsoftware.shaded.org.objenesis.strategy.InstantiatorStrategy.class 
and hence the error.

I guess Kryo is pulled in as a dependency for OrcStorage.


> Class conflicts: Kryo bundled in spark vs kryo bundled with pig
> ---------------------------------------------------------------
>
>                 Key: PIG-4693
>                 URL: https://issues.apache.org/jira/browse/PIG-4693
>             Project: Pig
>          Issue Type: Sub-task
>          Components: spark
>    Affects Versions: spark-branch
>            Reporter: Srikanth Sundarrajan
>            Assignee: Srikanth Sundarrajan
>              Labels: spork
>             Fix For: spark-branch
>
>




--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to