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 d92179cf2f09c6..0db9e010c783ca 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 @@ -197,38 +197,33 @@ public void createAnalysisJobs(AnalyzeDBStmt analyzeDBStmt, boolean proxy) throw public List buildAnalysisInfosForDB(DatabaseIf db, AnalyzeProperties analyzeProperties) throws AnalysisException { - db.readLock(); List tbls = db.getTables(); List analysisInfos = new ArrayList<>(); - try { - List 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 visible 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 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 visible 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; }