From 36ba803ac2b5a25821a3718b47f37a55f29e033e Mon Sep 17 00:00:00 2001 From: slfan1989 Date: Fri, 20 Feb 2026 10:20:38 +0800 Subject: [PATCH] [AURON #2032] Fix thread-safety issues in UnifflePartitionWriter synchronization. Signed-off-by: slfan1989 --- .../auron/shuffle/uniffle/UnifflePartitionWriter.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/thirdparty/auron-uniffle/src/main/scala/org/apache/spark/sql/execution/auron/shuffle/uniffle/UnifflePartitionWriter.scala b/thirdparty/auron-uniffle/src/main/scala/org/apache/spark/sql/execution/auron/shuffle/uniffle/UnifflePartitionWriter.scala index 69c65a28f..bc00ffb7e 100644 --- a/thirdparty/auron-uniffle/src/main/scala/org/apache/spark/sql/execution/auron/shuffle/uniffle/UnifflePartitionWriter.scala +++ b/thirdparty/auron-uniffle/src/main/scala/org/apache/spark/sql/execution/auron/shuffle/uniffle/UnifflePartitionWriter.scala @@ -66,7 +66,9 @@ class UnifflePartitionWriter[K, V, C]( val bufferManager = rssShuffleWriter.getBufferManager val restBlocks = bufferManager.clear() if (success && restBlocks != null && !restBlocks.isEmpty) { - rssShuffleWriterPushBlocksMethod.invoke(rssShuffleWriter, restBlocks) + rssShuffleWriter.synchronized { + rssShuffleWriterPushBlocksMethod.invoke(rssShuffleWriter, restBlocks) + } } val writeDurationMs = bufferManager.getWriteTime + (System.currentTimeMillis() - start) metrics.incWriteTime(TimeUnit.MILLISECONDS.toNanos(writeDurationMs))