This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push: new 7b28e338157 [improvement](statistics)Remove read lock when doing db analyze. (#49250) (#49320) 7b28e338157 is described below commit 7b28e338157982348929bf6eb2309f359e47f3cb Author: James <lijib...@selectdb.com> AuthorDate: Fri Mar 21 18:04:38 2025 +0800 [improvement](statistics)Remove read lock when doing db analyze. (#49250) (#49320) backport: https://github.com/apache/doris/pull/49250 --- .../apache/doris/statistics/AnalysisManager.java | 53 ++++++++++------------ 1 file changed, 24 insertions(+), 29 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java index c43136a08f6..9c43aed6c97 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java @@ -176,39 +176,34 @@ public class AnalysisManager implements Writable { public List<AnalysisInfo> buildAnalysisInfosForDB(DatabaseIf<TableIf> db, AnalyzeProperties analyzeProperties) throws AnalysisException { - db.readLock(); List<TableIf> tbls = db.getTables(); List<AnalysisInfo> analysisInfos = new ArrayList<>(); - try { - List<AnalyzeTblStmt> analyzeStmts = new ArrayList<>(); - for (TableIf table : tbls) { - if (table instanceof View) { - continue; - } - TableName tableName = new TableName(db.getCatalog().getName(), db.getFullName(), - table.getName()); - // columnNames null means to add all visitable columns. - // Will get all the visible columns in analyzeTblStmt.check() - AnalyzeTblStmt analyzeTblStmt = new AnalyzeTblStmt(analyzeProperties, tableName, - null, db.getId(), table); - try { - analyzeTblStmt.check(); - } catch (AnalysisException analysisException) { - LOG.warn("Failed to build analyze job: {}", - analysisException.getMessage(), analysisException); - } - analyzeStmts.add(analyzeTblStmt); + List<AnalyzeTblStmt> analyzeStmts = new ArrayList<>(); + for (TableIf table : tbls) { + if (table instanceof View) { + continue; } - for (AnalyzeTblStmt analyzeTblStmt : analyzeStmts) { - try { - analysisInfos.add(buildAndAssignJob(analyzeTblStmt)); - } catch (DdlException e) { - LOG.warn("Failed to build analyze job: {}", - e.getMessage(), e); - } + TableName tableName = new TableName(db.getCatalog().getName(), db.getFullName(), + table.getName()); + // columnNames null means to add all visitable columns. + // Will get all the visible columns in analyzeTblStmt.check() + AnalyzeTblStmt analyzeTblStmt = new AnalyzeTblStmt(analyzeProperties, tableName, + null, db.getId(), table); + try { + analyzeTblStmt.check(); + } catch (AnalysisException analysisException) { + LOG.warn("Failed to build analyze job: {}", + analysisException.getMessage(), analysisException); + } + analyzeStmts.add(analyzeTblStmt); + } + for (AnalyzeTblStmt analyzeTblStmt : analyzeStmts) { + try { + analysisInfos.add(buildAndAssignJob(analyzeTblStmt)); + } catch (DdlException e) { + LOG.warn("Failed to build analyze job: {}", + e.getMessage(), e); } - } finally { - db.readUnlock(); } return analysisInfos; } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org