From cf45151a66c47a617d8a16a05d01964bb7a9812d Mon Sep 17 00:00:00 2001 From: AlexYue Date: Tue, 16 Aug 2022 14:37:16 +0800 Subject: [PATCH] [Fix](audit) do not use duplicate query id in fe.audit.log (#11746) The original logic in ConnectProcessor.java might result in duplicate query id for different query statement in fe.audit.log as follows. --- .../src/main/java/org/apache/doris/qe/ConnectProcessor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java index 44c88c6b9b..c9c9b34cbd 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/ConnectProcessor.java @@ -294,13 +294,13 @@ public class ConnectProcessor { auditInfoList.add(new Pair<>(executor.getParsedStmt(), executor.getQueryStatisticsForAuditLog())); } - // audit after exec + // audit after exec, analysis query would not be recorded if (!auditInfoList.isEmpty()) { for (Pair audit : auditInfoList) { auditAfterExec(originStmt.replace("\n", " "), audit.first, audit.second); } - } else { - // auditInfoList can be empty if we encounter analysis error. + } else if (QueryState.ErrType.ANALYSIS_ERR != ctx.getState().getErrType()) { + // auditInfoList can be empty if we encounter error. auditAfterExec(originStmt.replace("\n", " "), null, null); } if (executor != null) {