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

Aihua Xu commented on HIVE-13530:
---------------------------------

Seems to make sense to mark perLogger as transient in 
SparkHashTableSinkOperator rather than from PerfLogger class, similar to other 
operators like GroupByOperator, ListSinkOperator. 

> Hive on Spark throws Kryo exception in some cases
> -------------------------------------------------
>
>                 Key: HIVE-13530
>                 URL: https://issues.apache.org/jira/browse/HIVE-13530
>             Project: Hive
>          Issue Type: Bug
>          Components: Spark
>            Reporter: Szehon Ho
>            Assignee: Szehon Ho
>         Attachments: HIVE-13530.patch
>
>
> After recent changes, Hive on Spark throws KryoException:
> {noformat}
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: ERROR : Failed to execute spark 
> task, with exception 'java.lang.Exception(Failed to submit Spark work, please 
> retry later)'
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: java.lang.Exception: Failed to 
> submit Spark work, please retry later
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient.execute(RemoteHiveSparkClient.java:174)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.spark.session.SparkSessionImpl.submit(SparkSessionImpl.java:71)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.spark.SparkTask.execute(SparkTask.java:103)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:160)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1769)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1526)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1305)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.Driver.run(Driver.java:1114)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.Driver.run(Driver.java:1107)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:178)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.service.cli.operation.SQLOperation.access$100(SQLOperation.java:72)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.service.cli.operation.SQLOperation$2$1.run(SQLOperation.java:232)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.security.AccessController.doPrivileged(Native Method)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> javax.security.auth.Subject.doAs(Subject.java:415)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.service.cli.operation.SQLOperation$2.run(SQLOperation.java:245)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.util.concurrent.FutureTask.run(FutureTask.java:262)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.lang.Thread.run(Thread.java:745)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: Caused by: 
> org.apache.hive.com.esotericsoftware.kryo.KryoException: 
> java.util.ConcurrentModificationException
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: Serialization trace:
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: classes 
> (sun.misc.Launcher$AppClassLoader)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: classloader 
> (java.security.ProtectionDomain)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: context 
> (java.security.AccessControlContext)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: acc (java.net.URLClassLoader)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: classLoader 
> (org.apache.hadoop.hive.conf.HiveConf)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: conf 
> (org.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: metrics 
> (org.apache.hadoop.hive.common.metrics.metrics2.CodahaleMetrics$CodahaleMetricsScope)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: openScopes 
> (org.apache.hadoop.hive.ql.log.PerfLogger)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: perfLogger 
> (org.apache.hadoop.hive.ql.exec.SparkHashTableSinkOperator)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: childOperators 
> (org.apache.hadoop.hive.ql.exec.TableScanOperator)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: aliasToWork 
> (org.apache.hadoop.hive.ql.plan.MapWork)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: invertedWorkGraph 
> (org.apache.hadoop.hive.ql.plan.SparkWork)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:82)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:614)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.write(DefaultArraySerializers.java:337)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.DefaultArraySerializers$ObjectArraySerializer.write(DefaultArraySerializers.java:276)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObjectOrNull(Kryo.java:592)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:68)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:614)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.write(MapSerializer.java:91)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.write(MapSerializer.java:17)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:614)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:78)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:18)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:614)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.write(MapSerializer.java:91)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.write(MapSerializer.java:17)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:614)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.write(MapSerializer.java:84)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.MapSerializer.write(MapSerializer.java:17)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.FieldSerializer.write(FieldSerializer.java:474)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:520)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.spark.KryoSerializer.serialize(KryoSerializer.java:42)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient.submit(RemoteHiveSparkClient.java:191)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hadoop.hive.ql.exec.spark.RemoteHiveSparkClient.execute(RemoteHiveSparkClient.java:172)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: ... 21 more
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: Caused by: 
> java.util.ConcurrentModificationException
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.util.Vector$Itr.checkForComodification(Vector.java:1156)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> java.util.Vector$Itr.next(Vector.java:1133)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:70)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.CollectionSerializer.write(CollectionSerializer.java:18)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.Kryo.writeObject(Kryo.java:538)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: at 
> org.apache.hive.com.esotericsoftware.kryo.serializers.ObjectField.write(ObjectField.java:61)
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: ... 74 more
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: 
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: ERROR : Failed to execute spark 
> task, with exception 'java.lang.Exception(Failed to submit Spark work, please 
> retry later)'
> 16/04/14 21:53:24 INFO hiveserver2.DDLTest: java.lang.Exception: Failed to 
> submit Spark work, please retry later
> {noformat}



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

Reply via email to