[ 
https://issues.apache.org/jira/browse/SPARK-61252?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SPARK-61252:
-----------------------------------
    Labels: pull-request-available  (was: )

> Add a config to cancel a query when its shuffle write exceeds a limit
> ---------------------------------------------------------------------
>
>                 Key: SPARK-61252
>                 URL: https://issues.apache.org/jira/browse/SPARK-61252
>             Project: Spark
>          Issue Type: New Feature
>          Components: SQL
>    Affects Versions: 5.0.0
>            Reporter: James Xu
>            Priority: Major
>              Labels: pull-request-available
>
> Problem
> Spark provides no bound on how much shuffle data a single query may write. A
> query whose plan regresses - a missing or wrong join predicate that turns into
> a cross join, a low-cardinality or skewed key, or a filter dropped after a
> schema change - can write unbounded shuffle to disk, keep running until it
> completes, and exhaust shuffle space or memory for other jobs on the cluster.
> For example, a self-join whose join key collapses to few distinct values:
>     SELECT a.user_id, count(*)
>     FROM serving_log a
>     JOIN serving_log b
>       ON a.model = b.model
>     GROUP BY a.user_id
> When `model` has very few distinct values this becomes a near-cartesian 
> product
> and a far larger shuffle than intended, with no mechanism to stop it early.
> Proposed change
> Add an opt-in cap, `spark.sql.maxShuffleWriteBytes`, on the cumulative
> shuffle-write bytes of a single SQL execution. A `SparkListener` sums the
> shuffle-write bytes of successful tasks per root SQL execution; once the cap 
> is
> crossed, the offending jobs are cancelled with a descriptive reason. When the
> config is unset the guard is disabled.
> Add `spark.sql.maxShuffleWriteBytes.stopApplication` (default false) so that
> exceeding the cap stops the whole application instead of cancelling only the
> query, letting batch pipelines fail fast rather than continue with a cancelled
> job.



--
This message was sent by Atlassian Jira
(v10.3.26#10030026)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to