This is an automated email from the ASF dual-hosted git repository. caogaofei pushed a commit to branch beyyes/fix_concurrent_bug in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 0f1a40c047e136f28e874045fa9d9d23ddf7d26d Author: Beyyes <[email protected]> AuthorDate: Fri Jan 26 16:13:54 2024 +0800 fix concurrent bug in QueryContext --- .../iotdb/db/queryengine/execution/fragment/QueryContext.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/QueryContext.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/QueryContext.java index 07ed3582aad..ca291593e48 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/QueryContext.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/fragment/QueryContext.java @@ -32,11 +32,11 @@ import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata; import java.util.ArrayList; import java.util.Collections; -import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.CopyOnWriteArraySet; /** QueryContext contains the shared information with in a query. */ public class QueryContext { @@ -49,7 +49,7 @@ public class QueryContext { * Modifications, and we do not want it to create multiple copies within a query. */ private final Map<String, PatternTreeMap<Modification, ModsSerializer>> fileModCache = - new HashMap<>(); + new ConcurrentHashMap<>(); protected long queryId; @@ -62,7 +62,7 @@ public class QueryContext { private volatile boolean isInterrupted = false; - private final Set<TsFileID> nonExistentModFiles = new HashSet<>(); + private final Set<TsFileID> nonExistentModFiles = new CopyOnWriteArraySet<>(); public QueryContext() {}
