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

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new facb7cf4e2 [fix](spark load)Temp partition with spark load (#14648)
facb7cf4e2 is described below

commit facb7cf4e2629bb3eb4463ea5b1fcf280e8bed78
Author: xiaoDjun <36905671+xiaod...@users.noreply.github.com>
AuthorDate: Tue Nov 29 15:21:44 2022 +0800

    [fix](spark load)Temp partition with spark load (#14648)
    
    * [fix](spark load)losing temporary partition item entry
    
    * [fix](spark load)Temp partition with spark load
---
 .../java/org/apache/doris/catalog/RangePartitionInfo.java  | 14 ++++++++++++++
 .../org/apache/doris/load/loadv2/SparkLoadPendingTask.java |  2 +-
 2 files changed, 15 insertions(+), 1 deletion(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java
index 678763b02b..14508c077a 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/RangePartitionInfo.java
@@ -25,6 +25,7 @@ import org.apache.doris.common.util.RangeUtils;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
 import com.google.common.collect.Range;
 
 import java.io.DataInput;
@@ -77,6 +78,19 @@ public class RangePartitionInfo extends PartitionInfo {
         return itemEntryList;
     }
 
+    public List<Map.Entry<Long, PartitionItem>> 
getAllPartitionItemEntryList(boolean isSorted) {
+        Map<Long, PartitionItem> tmpMap = Maps.newHashMap();
+
+        tmpMap.putAll(idToItem);
+        tmpMap.putAll(idToTempItem);
+
+        List<Map.Entry<Long, PartitionItem>> itemEntryList = 
Lists.newArrayList(tmpMap.entrySet());
+        if (isSorted) {
+            Collections.sort(itemEntryList, 
RangeUtils.RANGE_MAP_ENTRY_COMPARATOR);
+        }
+        return itemEntryList;
+    }
+
     // create a new range and check it.
     private Range<PartitionKey> createAndCheckNewRange(PartitionKeyDesc 
partKeyDesc, boolean isTemp)
             throws AnalysisException, DdlException {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkLoadPendingTask.java
 
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkLoadPendingTask.java
index 622a82d2af..c8f1518270 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkLoadPendingTask.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/SparkLoadPendingTask.java
@@ -334,7 +334,7 @@ public class SparkLoadPendingTask extends LoadTask {
                 partitionColumnRefs.add(column.getName());
             }
 
-            for (Map.Entry<Long, PartitionItem> entry : 
rangePartitionInfo.getPartitionItemEntryList(false, true)) {
+            for (Map.Entry<Long, PartitionItem> entry : 
rangePartitionInfo.getAllPartitionItemEntryList(true)) {
                 long partitionId = entry.getKey();
                 if (!partitionIds.contains(partitionId)) {
                     continue;


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to