From d55d796c74f6c20b8bca62c24be6a635fae896e6 Mon Sep 17 00:00:00 2001 From: HHoflittlefish777 <77738092+HHoflittlefish777@users.noreply.github.com> Date: Tue, 20 Feb 2024 09:08:56 +0800 Subject: [PATCH] [branch-2.1](multi-table-load) reduce routine load job transaction info storage in memory #31127 --- .../org/apache/doris/service/FrontendServiceImpl.java | 3 --- .../doris/transaction/DatabaseTransactionMgr.java | 11 ----------- .../doris/transaction/GlobalTransactionMgr.java | 5 ----- 3 files changed, 19 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java index c6096adf0b..53a32dd8ad 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java +++ b/fe/fe-core/src/main/java/org/apache/doris/service/FrontendServiceImpl.java @@ -1932,7 +1932,6 @@ public class FrontendServiceImpl implements FrontendService.Iface { } long timeoutMs = request.isSetThriftRpcTimeoutMs() ? request.getThriftRpcTimeoutMs() : 5000; List planFragmentParamsList = new ArrayList<>(tableNames.size()); - List tableIds = olapTables.stream().map(OlapTable::getId).collect(Collectors.toList()); // todo: if is multi table, we need consider the lock time and the timeout boolean enablePipelineLoad = Config.enable_pipeline_load; try { @@ -1950,8 +1949,6 @@ public class FrontendServiceImpl implements FrontendService.Iface { } multiTableFragmentInstanceIdIndexMap.put(request.getTxnId(), ++index); } - Env.getCurrentGlobalTransactionMgr() - .putTransactionTableNames(db.getId(), request.getTxnId(), tableIds); LOG.debug("receive stream load multi table put request result: {}", result); } catch (Throwable e) { LOG.warn("catch unknown result.", e); diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java index e772b28ade..fd48b97454 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/DatabaseTransactionMgr.java @@ -2246,17 +2246,6 @@ public class DatabaseTransactionMgr { return msgBuilder.toString(); } - protected void putTransactionTableNames(long transactionId, List tableIds) { - if (CollectionUtils.isEmpty(tableIds)) { - return; - } - if (multiTableRunningTransactionTableIdMaps.contains(transactionId)) { - multiTableRunningTransactionTableIdMaps.get(transactionId).addAll(tableIds); - return; - } - multiTableRunningTransactionTableIdMaps.put(transactionId, tableIds); - } - /** * Update transaction table ids by transaction id. * it's used for multi table transaction. diff --git a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java index 30f1c706c5..57a8629876 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java +++ b/fe/fe-core/src/main/java/org/apache/doris/transaction/GlobalTransactionMgr.java @@ -776,9 +776,4 @@ public class GlobalTransactionMgr implements Writable { throws AnalysisException { getDatabaseTransactionMgr(dbId).updateMultiTableRunningTransactionTableIds(transactionId, tableIds); } - - public void putTransactionTableNames(Long dbId, Long transactionId, List tableIds) - throws AnalysisException { - getDatabaseTransactionMgr(dbId).putTransactionTableNames(transactionId, tableIds); - } }