You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Bago Amirbekian (JIRA)" <ji...@apache.org> on 2018/11/01 22:13:00 UTC

[jira] [Commented] (SPARK-25921) Python worker reuse causes Barrier tasks to run without BarrierTaskContext

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

Bago Amirbekian commented on SPARK-25921:
-----------------------------------------

[~mengxr] [~jiangxb1987] Could you have a look.

> Python worker reuse causes Barrier tasks to run without BarrierTaskContext
> --------------------------------------------------------------------------
>
>                 Key: SPARK-25921
>                 URL: https://issues.apache.org/jira/browse/SPARK-25921
>             Project: Spark
>          Issue Type: Bug
>          Components: PySpark, Spark Core
>    Affects Versions: 2.4.0
>            Reporter: Bago Amirbekian
>            Priority: Major
>
> Running a barrier job after a normal spark job causes the barrier job to run without a BarrierTaskContext. Here is some code to reproduce.
>  
> {code:java}
> def task(*args):
>   from pyspark import BarrierTaskContext
>   context = BarrierTaskContext.get()
>   context.barrier()
>   print("in barrier phase")
>   context.barrier()
>   return []
> a = sc.parallelize(list(range(4))).map(lambda x: x ** 2).collect()
> assert a == [0, 1, 4, 9]
> b = sc.parallelize(list(range(4)), 4).barrier().mapPartitions(task).collect()
> {code}
>  
> Here is some of the trace
> {code:java}
> Py4JJavaError: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.collectAndServe.
> : org.apache.spark.SparkException: Job aborted due to stage failure: Could not recover from a failed barrier ResultStage. Most recent failure reason: Stage failed because barrier task ResultTask(14, 0) finished unsuccessfully.
> org.apache.spark.api.python.PythonException: Traceback (most recent call last):
>   File "/databricks/spark/python/pyspark/worker.py", line 372, in main
>     process()
>   File "/databricks/spark/python/pyspark/worker.py", line 367, in process
>     serializer.dump_stream(func(split_index, iterator), outfile)
>   File "/databricks/spark/python/pyspark/rdd.py", line 2482, in func
>     return f(iterator)
>   File "<command-717066991496742>", line 4, in task
> AttributeError: 'TaskContext' object has no attribute 'barrier'
> {code}
>  



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org