Github user kiszk commented on a diff in the pull request: https://github.com/apache/spark/pull/22335#discussion_r215452975 --- Diff: core/src/main/scala/org/apache/spark/status/AppStatusListener.scala --- @@ -646,8 +646,17 @@ private[spark] class AppStatusListener( } override def onUnpersistRDD(event: SparkListenerUnpersistRDD): Unit = { - liveRDDs.remove(event.rddId) - kvstore.delete(classOf[RDDStorageInfoWrapper], event.rddId) + while (true) { --- End diff -- Thank you for letting me know about a single thread. I agree with your point. As you pointed out, when `rdd.isEmpty()` continues to return `false`, it will get into an infinite loop. Thus, I imagine that this works under multithread.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org