This is an automated email from the ASF dual-hosted git repository.
morrysnow pushed a commit to branch branch-3.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-3.1 by this push:
new cd6b30d34fa branch-3.1: [log](cloud-mow) add debug log for error:
partition info is empty, table may be dropped #53016 (#53994)
cd6b30d34fa is described below
commit cd6b30d34fa381e3467e4761e5f8cf409a956f08
Author: zhannngchen <[email protected]>
AuthorDate: Wed Jul 30 10:09:06 2025 +0800
branch-3.1: [log](cloud-mow) add debug log for error: partition info is
empty, table may be dropped #53016 (#53994)
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 bef8914f482..b7443dbaab4 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
@@ -405,7 +405,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(
@@ -822,6 +822,16 @@ public class CloudGlobalTransactionMgr implements
GlobalTransactionMgrIface {
}
lockContext.getPartitions().putIfAbsent(partitionId, partition);
}
+ 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]