mridulm commented on code in PR #50594: URL: https://github.com/apache/spark/pull/50594#discussion_r2065293524
########## core/src/main/scala/org/apache/spark/util/UninterruptibleThread.scala: ########## @@ -69,10 +75,22 @@ private[spark] class UninterruptibleThread( } uninterruptibleLock.synchronized { + uninterruptible = true + } + + while (uninterruptibleLock.synchronized { // Clear the interrupted status if it's set. shouldInterruptThread = Thread.interrupted() || shouldInterruptThread - uninterruptible = true + // wait for super.interrupt() to be called + !shouldInterruptThread && awaitInterruptThread }) { + try { + Thread.sleep(100) Review Comment: `sleep` has a slightly higher overhead than parking/unparking a thread; and `await` is a pattern better designed for this usecase, which makes it easier to evolve (without needing reviewer context on why both sleep and await work equivalently). Having said that, given this is nontrivial change - I would like other opinions as well ! I wont necessarily insist on changing to await from sleep. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org