[ 
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)

Reply via email to