[
https://issues.apache.org/jira/browse/HIVE-7431?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14067195#comment-14067195
]
Xuefu Zhang commented on HIVE-7431:
-----------------------------------
[~lirui] I wasn't able to reproduce the problem as my dataset is small and thus
my test case doesn't involves multiple tasks.
I think you're right that multiple tasks shouldn't share MapWork in case of
Spark as each thread running a task needs its own copy of operators. While it's
okay to deserialize a MapWork for each task running in a JVM, for a longer
term, maybe we should deserialize once and clone it as needed. Cloning should
be more performing.
I guess this uncovers a concurrency issue. I expect there will be more issues
like this. Thanks for identifying this one.
Could you clean up the patch a little by removing debugging code?
> When run on spark cluster, some spark tasks may fail
> ----------------------------------------------------
>
> Key: HIVE-7431
> URL: https://issues.apache.org/jira/browse/HIVE-7431
> Project: Hive
> Issue Type: Bug
> Reporter: Rui Li
> Assignee: Rui Li
> Attachments: HIVE-7431.1.patch
>
>
> When running queries on spark, some spark tasks fail (usually the first
> couple of tasks) with the following stack trace:
> {quote}
> org.apache.hadoop.hive.ql.exec.mr.ExecMapper.configure(ExecMapper.java:154)
> org.apache.hadoop.hive.ql.exec.spark.HiveMapFunction.call(HiveMapFunction.java:60)
> org.apache.hadoop.hive.ql.exec.spark.HiveMapFunction.call(HiveMapFunction.java:35)
> org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$7$1.apply(JavaRDDLike.scala:161)
> org.apache.spark.api.java.JavaRDDLike$$anonfun$fn$7$1.apply(JavaRDDLike.scala:161)
> org.apache.spark.rdd.RDD$$anonfun$12.apply(RDD.scala:559)
> org.apache.spark.rdd.RDD$$anonfun$12.apply(RDD.scala:559)
> org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:35)
> org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:262)
> org.apache.spark.rdd.RDD.iterator(RDD.scala:229)
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:158)
> ...
> {quote}
> Observed for spark standalone cluster. Not verified for spark on yarn or
> mesos.
> NO PRECOMMIT TESTS. This is for spark branch only.
--
This message was sent by Atlassian JIRA
(v6.2#6252)