From c121481c6e7a05fda78cdca22ee9755b40f42e33 Mon Sep 17 00:00:00 2001 From: zhengyu Date: Thu, 6 Jun 2024 16:15:11 +0800 Subject: [PATCH] [fix](statistics) NPE when drop partition during publish (pick #35475) skip null partition when get base tablets for each be (for further usage in dedup updated row count in MV) This may cause publish fail cherry pick master #35475 --- .../org/apache/doris/transaction/PublishVersionDaemon.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java index f4158cae889438..a6665c2e22038a 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/PublishVersionDaemon.java @@ -46,6 +46,7 @@ import java.util.Collections; import java.util.List; import java.util.Map; +import java.util.Optional; import java.util.Set; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -219,7 +220,9 @@ private Map> getBaseTabletIdsForEachBe(TransactionState transact .getIdToPartitionCommitInfo() .values().stream() .map(PartitionCommitInfo::getPartitionId) - .map(table::getPartition) + .map(partitionId -> Optional.ofNullable(table.getPartition(partitionId))) + .filter(Optional::isPresent) + .map(Optional::get) .map(Partition::getBaseIndex) .map(MaterializedIndex::getTablets) .flatMap(Collection::stream)