-
- Downloads
[SPARK-10210] [STREAMING] Filter out non-existent blocks before creating BlockRDD
When write ahead log is not enabled, a recovered streaming driver still tries to run jobs using pre-failure block ids, and fails as the block do not exists in-memory any more (and cannot be recovered as receiver WAL is not enabled). This occurs because the driver-side WAL of ReceivedBlockTracker is recovers that past block information, and ReceiveInputDStream creates BlockRDDs even if those blocks do not exist. The solution in this PR is to filter out block ids that do not exist before creating the BlockRDD. In addition, it adds unit tests to verify other logic in ReceiverInputDStream. Author: Tathagata Das <tathagata.das1565@gmail.com> Closes #8405 from tdas/SPARK-10210.
Showing
- streaming/src/main/scala/org/apache/spark/streaming/dstream/ReceiverInputDStream.scala 9 additions, 1 deletion...apache/spark/streaming/dstream/ReceiverInputDStream.scala
- streaming/src/main/scala/org/apache/spark/streaming/rdd/WriteAheadLogBackedBlockRDD.scala 1 addition, 1 deletion...che/spark/streaming/rdd/WriteAheadLogBackedBlockRDD.scala
- streaming/src/test/scala/org/apache/spark/streaming/ReceiverInputDStreamSuite.scala 156 additions, 0 deletions...rg/apache/spark/streaming/ReceiverInputDStreamSuite.scala
Please register or sign in to comment