This is an automated email from the ASF dual-hosted git repository.

haonan pushed a commit to branch fix_MemoryControlledWALEntryQueue_deadlock
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit 91ff53a4ae7dce6578d138f9b8fe33984c11c3bf
Author: HTHou <[email protected]>
AuthorDate: Wed Mar 19 11:45:00 2025 +0800

    [To dev/1.3] Fix MemoryControlledWALEntryQueue deadlock
---
 .../dataregion/wal/utils/MemoryControlledWALEntryQueue.java             | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/MemoryControlledWALEntryQueue.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/MemoryControlledWALEntryQueue.java
index ddb1310564b..007f53052c8 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/MemoryControlledWALEntryQueue.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/wal/utils/MemoryControlledWALEntryQueue.java
@@ -52,9 +52,9 @@ public class MemoryControlledWALEntryQueue {
       while 
(SystemInfo.getInstance().cannotReserveMemoryForWalEntry(elementSize)) {
         nonFullCondition.wait();
       }
+      SystemInfo.getInstance().updateWalQueueMemoryCost(elementSize);
     }
     queue.put(e);
-    SystemInfo.getInstance().updateWalQueueMemoryCost(elementSize);
   }
 
   public WALEntry take() throws InterruptedException {

Reply via email to