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

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

commit 9d5dedd0291b5aebfab2b5f7e574cac00105b926
Author: Haonan <[email protected]>
AuthorDate: Tue Jan 16 16:00:59 2024 +0800

    Fix ConcurrentModificationException when evict time partition info
---
 .../org/apache/iotdb/db/storageengine/dataregion/DataRegion.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 07e77095542..e3b03e31eb4 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -3398,7 +3398,12 @@ public class DataRegion implements IDataRegionForQuery {
   }
 
   public void releaseFlushTimeMap(long timePartitionId) {
-    lastFlushTimeMap.removePartition(timePartitionId);
+    writeLock("releaseFlushTimeMap");
+    try {
+      lastFlushTimeMap.removePartition(timePartitionId);
+    } finally {
+      writeUnlock();
+    }
   }
 
   public long getMemCost() {

Reply via email to