ivoson commented on code in PR #39459:
URL: https://github.com/apache/spark/pull/39459#discussion_r1113188852


##########
core/src/main/scala/org/apache/spark/storage/BlockInfoManager.scala:
##########
@@ -502,7 +536,10 @@ private[storage] class BlockInfoManager extends Logging {
         throw new IllegalStateException(
           s"Task $taskAttemptId called remove() on block $blockId without a 
write lock")
       } else {
-        blockInfoWrappers.remove(blockId)
+        invisibleRDDBlocks.synchronized {
+          blockInfoWrappers.remove(blockId)

Review Comment:
   Just want to make sure that state change for both `blockInfoWrappers` and 
`invisibleRDDBlocks` are processed in the same syncrhonized block to avoid 
potential concurrent issues since we depends on the state of the 2 variables to 
decide whether a block is visible.



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to