diff --git a/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala b/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala index 9b27f648134e..f23e51c4983f 100644 --- a/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala +++ b/core/src/main/scala/org/apache/spark/shuffle/IndexShuffleBlockResolver.scala @@ -310,13 +310,13 @@ private[spark] class IndexShuffleBlockResolver( val mapTaskIds = taskIdMapsForShuffle.computeIfAbsent( shuffleId, _ => new OpenHashSet[Long](8) ) - mapTaskIds.add(mapId) + mapTaskIds.synchronized { mapTaskIds.add(mapId) } case ShuffleDataBlockId(shuffleId, mapId, _) => val mapTaskIds = taskIdMapsForShuffle.computeIfAbsent( shuffleId, _ => new OpenHashSet[Long](8) ) - mapTaskIds.add(mapId) + mapTaskIds.synchronized { mapTaskIds.add(mapId) } case _ => // Unreachable }