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)