You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2020/05/18 05:28:13 UTC
[incubator-doris] 01/01: Revert "Revert "[Bug] Fix bug that
ConcurrentModificationException thrown " (#3612)"
This is an automated email from the ASF dual-hosted git repository.
morningman pushed a commit to branch revert-3612-revert-3587-tmp_partition_qa1
in repository https://gitbox.apache.org/repos/asf/incubator-doris.git
commit 287f50e4c1ecd8046616b618f7dcb6a2c8e244af
Author: Mingyu Chen <mo...@gmail.com>
AuthorDate: Mon May 18 13:28:05 2020 +0800
Revert "Revert "[Bug] Fix bug that ConcurrentModificationException thrown " (#3612)"
This reverts commit d028a728e4309e43d4c4d9323f44648454b9b18d.
---
fe/src/main/java/org/apache/doris/catalog/Catalog.java | 2 +-
fe/src/main/java/org/apache/doris/catalog/PartitionInfo.java | 3 +++
fe/src/main/java/org/apache/doris/catalog/TempPartitions.java | 5 ++++-
fe/src/main/java/org/apache/doris/cluster/Cluster.java | 2 +-
4 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/fe/src/main/java/org/apache/doris/catalog/Catalog.java b/fe/src/main/java/org/apache/doris/catalog/Catalog.java
index b68c0d9..ed0564c 100755
--- a/fe/src/main/java/org/apache/doris/catalog/Catalog.java
+++ b/fe/src/main/java/org/apache/doris/catalog/Catalog.java
@@ -4516,7 +4516,7 @@ public class Catalog {
for (Partition partition : olapTable.getAllPartitions()) {
long partitionId = partition.getId();
DataProperty dataProperty = partitionInfo.getDataProperty(partition.getId());
- Preconditions.checkNotNull(dataProperty);
+ Preconditions.checkNotNull(dataProperty, partition.getName() + ", pId:" + partitionId + ", db: " + dbId + ", tbl: " + tableId);
if (dataProperty.getStorageMedium() == TStorageMedium.SSD
&& dataProperty.getCooldownTimeMs() < currentTimeMs) {
// expire. change to HDD.
diff --git a/fe/src/main/java/org/apache/doris/catalog/PartitionInfo.java b/fe/src/main/java/org/apache/doris/catalog/PartitionInfo.java
index bde4815..1359f0c 100644
--- a/fe/src/main/java/org/apache/doris/catalog/PartitionInfo.java
+++ b/fe/src/main/java/org/apache/doris/catalog/PartitionInfo.java
@@ -76,6 +76,9 @@ public class PartitionInfo implements Writable {
}
public short getReplicationNum(long partitionId) {
+ if (!idToReplicationNum.containsKey(partitionId)) {
+ LOG.debug("failed to get replica num for partition: {}", partitionId);
+ }
return idToReplicationNum.get(partitionId);
}
diff --git a/fe/src/main/java/org/apache/doris/catalog/TempPartitions.java b/fe/src/main/java/org/apache/doris/catalog/TempPartitions.java
index a84b8d5..4a1c59d 100644
--- a/fe/src/main/java/org/apache/doris/catalog/TempPartitions.java
+++ b/fe/src/main/java/org/apache/doris/catalog/TempPartitions.java
@@ -26,6 +26,7 @@ import org.apache.doris.persist.gson.GsonUtils;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
+import com.google.common.collect.Sets;
import com.google.gson.annotations.SerializedName;
import java.io.DataInput;
@@ -33,6 +34,7 @@ import java.io.DataOutput;
import java.io.IOException;
import java.util.List;
import java.util.Map;
+import java.util.Set;
// This class saved all temp partitions of a table.
// temp partition is used to implement the overwrite load.
@@ -108,7 +110,8 @@ public class TempPartitions implements Writable, GsonPostProcessable {
// drop all temp partitions
public void dropAll() {
- for (String partName : nameToPartition.keySet()) {
+ Set<String> partNames = Sets.newHashSet(nameToPartition.keySet());
+ for (String partName : partNames) {
dropPartition(partName, true);
}
}
diff --git a/fe/src/main/java/org/apache/doris/cluster/Cluster.java b/fe/src/main/java/org/apache/doris/cluster/Cluster.java
index bc378ac..4754dc0 100644
--- a/fe/src/main/java/org/apache/doris/cluster/Cluster.java
+++ b/fe/src/main/java/org/apache/doris/cluster/Cluster.java
@@ -17,12 +17,12 @@
package org.apache.doris.cluster;
-import com.google.common.base.Preconditions;
import org.apache.doris.catalog.InfoSchemaDb;
import org.apache.doris.common.io.Text;
import org.apache.doris.common.io.Writable;
import org.apache.doris.persist.LinkDbInfo;
+import com.google.common.base.Preconditions;
import com.google.common.base.Strings;
import com.google.common.collect.Lists;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org