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 <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to