This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a commit to branch branch-4.0-preview in repository https://gitbox.apache.org/repos/asf/doris.git
commit 38c96352b3ae41f817c227c4fe71dc880d29e1e1 Author: zclllyybb <zhaochan...@selectdb.com> AuthorDate: Fri Apr 26 12:52:17 2024 +0800 [Fix](cloud) Fix concurrency bugs on creating auto partition #34135 --- .../cloud/transaction/CloudGlobalTransactionMgr.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 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 35b3cd28529..aa1218ab9b3 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 @@ -385,12 +385,17 @@ public class CloudGlobalTransactionMgr implements GlobalTransactionMgrIface { } for (Table table : tableList) { OlapTable olapTable = (OlapTable) table; - olapTable.getPartitions().stream() - .map(Partition::getBaseIndex) - .map(MaterializedIndex::getTablets) - .flatMap(Collection::stream) - .map(Tablet::getId) - .forEach(baseTabletIds::add); + try { + olapTable.readLock(); + olapTable.getPartitions().stream() + .map(Partition::getBaseIndex) + .map(MaterializedIndex::getTablets) + .flatMap(Collection::stream) + .map(Tablet::getId) + .forEach(baseTabletIds::add); + } finally { + olapTable.readUnlock(); + } } Set<Long> tabletIds = tabletCommitInfos.stream().map(TabletCommitInfo::getTabletId).collect(Collectors.toSet()); baseTabletIds.retainAll(tabletIds); --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org