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