You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Josh Rosen (JIRA)" <ji...@apache.org> on 2016/12/19 21:33:58 UTC
[jira] [Created] (SPARK-18928) FileScanRDD, JDBCRDD, and
UnsafeSorter should support task cancellation
Josh Rosen created SPARK-18928:
----------------------------------
Summary: FileScanRDD, JDBCRDD, and UnsafeSorter should support task cancellation
Key: SPARK-18928
URL: https://issues.apache.org/jira/browse/SPARK-18928
Project: Spark
Issue Type: Bug
Components: Spark Core, SQL
Reporter: Josh Rosen
Assignee: Josh Rosen
Spark tasks respond to cancellation by checking {{TaskContext.isInterrupted()}}, but this check is missing on a few critical paths used in Spark SQL, including FileScanRDD, JDBCRDD, and UnsafeSorter-based sorts. This can cause interrupted / cancelled tasks to continue running and become zombies.
Here's an example: first, create a giant text file. In my case, I just concatenated /usr/share/dict/words a bunch of times to produce a 2.75 gig file. Then, run a really slow query over that file and try to cancel it:
{code}
spark.read.text("/tmp/words").selectExpr("value + value + value").collect()
{code}
This will sit and churn at 100% CPU for a minute or two because the task isn't checking the interrupted flag.
The solution here is to add InterruptedIterator-style checks to a few locations where they're currently missing in Spark SQL.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org