diff --git a/fe/src/main/java/org/apache/doris/catalog/TabletInvertedIndex.java b/fe/src/main/java/org/apache/doris/catalog/TabletInvertedIndex.java index 798411bb6e..b2d00cf9f1 100644 --- a/fe/src/main/java/org/apache/doris/catalog/TabletInvertedIndex.java +++ b/fe/src/main/java/org/apache/doris/catalog/TabletInvertedIndex.java @@ -196,18 +196,28 @@ public class TabletInvertedIndex { TableCommitInfo tableCommitInfo = transactionState.getTableCommitInfo(tabletMeta.getTableId()); PartitionCommitInfo partitionCommitInfo = tableCommitInfo.getPartitionCommitInfo(partitionId); if (partitionCommitInfo == null) { - LOG.warn("failed to find partition commit info. table: {}, partition: {}, tablet: {}, txn id: {}", + /* + * This may happen as follows: + * 1. txn is committed on BE, and report commit info to FE + * 2. FE received report and begin to assemble partitionCommitInfos. + * 3. At the same time, some of partitions have been dropped, so partitionCommitInfos does not contain these partitions. + * 4. So we will not able to get partitionCommitInfo here. + * + * Just print a log to observe + */ + LOG.info("failed to find partition commit info. table: {}, partition: {}, tablet: {}, txn id: {}", tabletMeta.getTableId(), partitionId, tabletId, transactionState.getTransactionId()); + } else { + TPartitionVersionInfo versionInfo = new TPartitionVersionInfo(tabletMeta.getPartitionId(), + partitionCommitInfo.getVersion(), + partitionCommitInfo.getVersionHash()); + ListMultimap map = transactionsToPublish.get(transactionState.getDbId()); + if (map == null) { + map = ArrayListMultimap.create(); + transactionsToPublish.put(transactionState.getDbId(), map); + } + map.put(transactionId, versionInfo); } - TPartitionVersionInfo versionInfo = new TPartitionVersionInfo(tabletMeta.getPartitionId(), - partitionCommitInfo.getVersion(), - partitionCommitInfo.getVersionHash()); - ListMultimap map = transactionsToPublish.get(transactionState.getDbId()); - if (map == null) { - map = ArrayListMultimap.create(); - transactionsToPublish.put(transactionState.getDbId(), map); - } - map.put(transactionId, versionInfo); } } } // end for txn id