[ https://issues.apache.org/jira/browse/SPARK-18928?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15765087#comment-15765087 ]
Apache Spark commented on SPARK-18928: -------------------------------------- User 'JoshRosen' has created a pull request for this issue: https://github.com/apache/spark/pull/16357 > 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 > Fix For: 2.1.1, 2.2.0 > > > 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-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org