This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch branch-3.0
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.0 by this push:
new 0589df60aeb branch-3.0: [log](cloud-mow) add debug log for error:
partition info is empty, table may be dropped (#53016) (#53995)
0589df60aeb is described below
commit 0589df60aeb562b8f008856d66693ea6fc0feffe
Author: zhannngchen <[email protected]>
AuthorDate: Tue Aug 12 10:57:01 2025 +0800
branch-3.0: [log](cloud-mow) add debug log for error: partition info is
empty, table may be dropped (#53016) (#53995)
cherry-pick #53016
---
.../doris/cloud/transaction/CloudGlobalTransactionMgr.java | 12 +++++++++++-
.../cloud/transaction/DeleteBitmapUpdateLockContext.java | 8 +++++++-
2 files changed, 18 insertions(+), 2 deletions(-)
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
index 944099409dc..0f50ec8704f 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/CloudGlobalTransactionMgr.java
@@ -364,7 +364,7 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
if (!checkTransactionStateBeforeCommit(dbId, transactionId)) {
return;
}
- DeleteBitmapUpdateLockContext lockContext = new
DeleteBitmapUpdateLockContext();
+ DeleteBitmapUpdateLockContext lockContext = new
DeleteBitmapUpdateLockContext(transactionId);
getDeleteBitmapUpdateLock(transactionId, mowTableList,
tabletCommitInfos, lockContext);
if (lockContext.getBackendToPartitionTablets().isEmpty()) {
throw new UserException(
@@ -764,6 +764,16 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
partitionToTablets.get(partitionId).add(tabletIds.get(i));
lockContext.getPartitions().putIfAbsent(partitionId,
tableMap.get(tableId).getPartition(partitionId));
}
+ if (!tableList.isEmpty() && !tabletCommitInfos.isEmpty() &&
lockContext.getTableToTabletList().isEmpty()) {
+ String tableListDebugStr = tableList.stream().map(table ->
String.valueOf(table.getId()))
+ .collect(Collectors.joining(", "));
+ String tabletMetaDebugStr =
tabletMetaList.stream().map(TabletMeta::toString)
+ .collect(Collectors.joining("\n"));
+ LOG.warn(
+ "getPartitionInfo for lock_id: {} failed,
LockContext.TableToTabletList is empty,"
+ + " this should never happen. tableList: {},
tabletIds: {}, tabletMetaList: {}",
+ lockContext.getLockId(), tableListDebugStr,
tabletIds.toString(), tabletMetaDebugStr);
+ }
}
private Map<Long, Long> getPartitionVersions(Map<Long, Partition>
partitionMap) {
diff --git
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/DeleteBitmapUpdateLockContext.java
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/DeleteBitmapUpdateLockContext.java
index 120715d6276..9064947d148 100644
---
a/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/DeleteBitmapUpdateLockContext.java
+++
b/fe/fe-core/src/main/java/org/apache/doris/cloud/transaction/DeleteBitmapUpdateLockContext.java
@@ -27,6 +27,7 @@ import java.util.Map;
import java.util.Set;
public class DeleteBitmapUpdateLockContext {
+ private long lockId;
private Map<Long, Long> baseCompactionCnts;
private Map<Long, Long> cumulativeCompactionCnts;
private Map<Long, Long> cumulativePoints;
@@ -37,7 +38,8 @@ public class DeleteBitmapUpdateLockContext {
private Map<Long, List<Long>> tableToTabletList;
private Map<Long, TabletMeta> tabletToTabletMeta;
- public DeleteBitmapUpdateLockContext() {
+ public DeleteBitmapUpdateLockContext(long lockId) {
+ this.lockId = lockId;
baseCompactionCnts = Maps.newHashMap();
cumulativeCompactionCnts = Maps.newHashMap();
cumulativePoints = Maps.newHashMap();
@@ -49,6 +51,10 @@ public class DeleteBitmapUpdateLockContext {
tabletToTabletMeta = Maps.newHashMap();
}
+ public long getLockId() {
+ return lockId;
+ }
+
public Map<Long, List<Long>> getTableToTabletList() {
return tableToTabletList;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]