diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index fa6425c72a..0164c31197 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -99,6 +99,7 @@ import java.util.Map.Entry; import java.util.Objects; import java.util.Optional; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; import java.util.stream.Collectors; /** @@ -140,7 +141,7 @@ public class OlapTable extends Table implements MTMVRelatedTableIf { @SerializedName("partitionInfo") private PartitionInfo partitionInfo; @SerializedName("idToPartition") - private Map idToPartition = new HashMap<>(); + private ConcurrentHashMap idToPartition = new ConcurrentHashMap<>(); private Map nameToPartition = Maps.newTreeMap(); @SerializedName(value = "distributionInfo") @@ -611,7 +612,7 @@ public class OlapTable extends Table implements MTMVRelatedTableIf { // reset partition info and idToPartition map Map partitionMap = Maps.newHashMap(); Map origIdToPartition = idToPartition; - idToPartition = Maps.newHashMap(); + idToPartition = new ConcurrentHashMap<>(); for (Map.Entry entry : origPartNameToId.entrySet()) { long newPartId = env.getNextId(); idToPartition.put(newPartId, origIdToPartition.get(entry.getValue()));