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

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


The following commit(s) were added to refs/heads/master by this push:
     new 9834d9031f7 Remove unnecessary synchronization for IoTConsensus 
memeory management (#16049)
9834d9031f7 is described below

commit 9834d9031f7bf01481187644f32a33e68857dfc7
Author: Jiang Tian <[email protected]>
AuthorDate: Tue Jul 29 14:19:51 2025 +0800

    Remove unnecessary synchronization for IoTConsensus memeory management 
(#16049)
---
 .../iot/logdispatcher/IoTConsensusMemoryManager.java | 20 ++++++++------------
 .../consensus/iot/logdispatcher/LogDispatcher.java   | 16 ++++++----------
 2 files changed, 14 insertions(+), 22 deletions(-)

diff --git 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/IoTConsensusMemoryManager.java
 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/IoTConsensusMemoryManager.java
index f26b1516b07..f993ea386da 100644
--- 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/IoTConsensusMemoryManager.java
+++ 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/IoTConsensusMemoryManager.java
@@ -42,13 +42,11 @@ public class IoTConsensusMemoryManager {
   }
 
   public boolean reserve(IndexedConsensusRequest request, boolean fromQueue) {
-    synchronized (request) {
-      long prevRef = request.incRef();
-      if (prevRef == 0) {
-        return reserve(request.getMemorySize(), fromQueue);
-      } else {
-        return true;
-      }
+    long prevRef = request.incRef();
+    if (prevRef == 0) {
+      return reserve(request.getMemorySize(), fromQueue);
+    } else {
+      return true;
     }
   }
 
@@ -68,11 +66,9 @@ public class IoTConsensusMemoryManager {
   }
 
   public void free(IndexedConsensusRequest request, boolean fromQueue) {
-    synchronized (request) {
-      long prevRef = request.decRef();
-      if (prevRef == 0) {
-        free(request.getMemorySize(), fromQueue);
-      }
+    long prevRef = request.decRef();
+    if (prevRef == 1) {
+      free(request.getMemorySize(), fromQueue);
     }
   }
 
diff --git 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/LogDispatcher.java
 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/LogDispatcher.java
index 106c5b743a3..89ece0c00fd 100644
--- 
a/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/LogDispatcher.java
+++ 
b/iotdb-core/consensus/src/main/java/org/apache/iotdb/consensus/iot/logdispatcher/LogDispatcher.java
@@ -322,22 +322,18 @@ public class LogDispatcher {
       }
       long requestSize = 0;
       for (IndexedConsensusRequest indexedConsensusRequest : pendingEntries) {
-        synchronized (indexedConsensusRequest) {
-          long prevRef = indexedConsensusRequest.decRef();
-          if (prevRef == 1) {
-            requestSize += indexedConsensusRequest.getMemorySize();
-          }
+        long prevRef = indexedConsensusRequest.decRef();
+        if (prevRef == 1) {
+          requestSize += indexedConsensusRequest.getMemorySize();
         }
       }
       pendingEntries.clear();
       iotConsensusMemoryManager.free(requestSize, true);
       requestSize = 0;
       for (IndexedConsensusRequest indexedConsensusRequest : bufferedEntries) {
-        synchronized (indexedConsensusRequest) {
-          long prevRef = indexedConsensusRequest.decRef();
-          if (prevRef == 1) {
-            requestSize += indexedConsensusRequest.getMemorySize();
-          }
+        long prevRef = indexedConsensusRequest.decRef();
+        if (prevRef == 1) {
+          requestSize += indexedConsensusRequest.getMemorySize();
         }
       }
       iotConsensusMemoryManager.free(requestSize, true);

Reply via email to