You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by "Mike Kaplinskiy (JIRA)" <ji...@apache.org> on 2018/10/08 18:03:00 UTC

[jira] [Created] (BEAM-5682) Reshuffle causes brittle pipelines on Spark runner

Mike Kaplinskiy created BEAM-5682:
-------------------------------------

             Summary: Reshuffle causes brittle pipelines on Spark runner
                 Key: BEAM-5682
                 URL: https://issues.apache.org/jira/browse/BEAM-5682
             Project: Beam
          Issue Type: Bug
          Components: runner-spark
            Reporter: Mike Kaplinskiy
            Assignee: Amit Sela


The latest Spark releases have a bug which makes calls to {{repartition}} non-retriable (https://issues.apache.org/jira/browse/SPARK-25341) as a fix to https://issues.apache.org/jira/browse/SPARK-23243. Beam uses repartition as the implementation of {{Reshuffle}}. This makes beam-based spark pipelines not resilient when using {{Reshuffle}} - a single executor failure kills the entire pipeline.

The fix that I have locally is just to remove the special-casing of {{Reshuffle}} in the spark runner (https://github.com/apache/beam/blob/279a05604b83a54e8e5a79e13d8761f94841f326/runners/spark/src/main/java/org/apache/beam/runners/spark/translation/TransformTranslator.java#L579). The reshuffle default expansion seems to do a fine job in reshuffling & the pipeline becomes resilient to executor failures.

I'm not entirely sure if this is a beam bug or not, but I figure it's worth making others aware of the current behavior.



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