From 80fb496523da2ac2816ab439744ded7faabd4f9f Mon Sep 17 00:00:00 2001 From: walter Date: Sat, 30 Dec 2023 16:43:06 +0800 Subject: [PATCH] [improve](proc) Show journal size in bdbje journal dir (#29314) --- .../apache/doris/common/proc/BdbjeJournalDataProcNode.java | 5 +++-- .../java/org/apache/doris/journal/bdbje/BDBDebugger.java | 2 ++ .../src/main/java/org/apache/doris/qe/ConnectProcessor.java | 4 ++++ .../src/main/java/org/apache/doris/qe/StmtExecutor.java | 4 ++++ 4 files changed, 13 insertions(+), 2 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/common/proc/BdbjeJournalDataProcNode.java b/fe/fe-core/src/main/java/org/apache/doris/common/proc/BdbjeJournalDataProcNode.java index c8c197b8ca..6b18bd05a4 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/common/proc/BdbjeJournalDataProcNode.java +++ b/fe/fe-core/src/main/java/org/apache/doris/common/proc/BdbjeJournalDataProcNode.java @@ -29,7 +29,7 @@ import com.google.common.collect.Lists; public class BdbjeJournalDataProcNode implements ProcNodeInterface { public static final ImmutableList TITLE_NAMES = new ImmutableList.Builder() - .add("JournalId").add("OpType").add("Data").build(); + .add("JournalId").add("OpType").add("Size").add("Data").build(); private String dbName; private Long journalId; @@ -53,7 +53,8 @@ public class BdbjeJournalDataProcNode implements ProcNodeInterface { short opCode = entity.entity == null ? -1 : entity.entity.getOpCode(); String data = entity.entity == null ? entity.errMsg : entity.entity.getData().toString(); - result.addRow(Lists.newArrayList(entity.journalId.toString(), OperationType.getOpName(opCode), data)); + result.addRow(Lists.newArrayList(entity.journalId.toString(), + OperationType.getOpName(opCode), entity.size.toString(), data)); return result; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBDebugger.java b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBDebugger.java index 97009edff1..d6f17f0cb8 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBDebugger.java +++ b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBDebugger.java @@ -212,6 +212,7 @@ public class BDBDebugger { db.close(); if (status == OperationStatus.SUCCESS) { byte[] retData = value.getData(); + entityWrapper.size = retData.length; DataInputStream in = new DataInputStream(new ByteArrayInputStream(retData)); JournalEntity entity = new JournalEntity(); try { @@ -240,6 +241,7 @@ public class BDBDebugger { public static class JournalEntityWrapper { public Long journalId; + public Integer size; public JournalEntity entity; public String errMsg; 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 537a555347..3ec533c9a8 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 @@ -30,6 +30,7 @@ import org.apache.doris.catalog.Env; import org.apache.doris.catalog.TableIf; import org.apache.doris.cluster.ClusterNamespace; import org.apache.doris.common.AnalysisException; +import org.apache.doris.common.Config; import org.apache.doris.common.DdlException; import org.apache.doris.common.ErrorCode; import org.apache.doris.common.NotImplementedException; @@ -161,6 +162,9 @@ public abstract class ConnectProcessor { protected void auditAfterExec(String origStmt, StatementBase parsedStmt, Data.PQueryStatistics statistics, boolean printFuzzyVariables) { + if (Config.enable_bdbje_debug_mode) { + return; + } AuditLogHelper.logAuditLog(ctx, origStmt, parsedStmt, statistics, printFuzzyVariables); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java index 25f2f2e2e2..a617d742f2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java +++ b/fe/fe-core/src/main/java/org/apache/doris/qe/StmtExecutor.java @@ -356,6 +356,10 @@ public class StmtExecutor { return false; } + if (Config.enable_bdbje_debug_mode) { + return false; + } + // this is a query stmt, but this non-master FE can not read, forward it to master if (isQuery() && !Env.getCurrentEnv().isMaster() && !Env.getCurrentEnv().canRead()) {