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);