This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit 0801b89b0b1777edff7b12277ceb8c4bfa63ea69
Author: Lei Zhang <[email protected]>
AuthorDate: Thu Sep 14 11:45:48 2023 +0800

    [enhancement](fe) Add more detail log for replayJournal (#24218)
---
 fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java     | 10 ++++++++++
 .../src/main/java/org/apache/doris/journal/JournalEntity.java  |  9 +++++++++
 .../java/org/apache/doris/journal/bdbje/BDBJournalCursor.java  |  1 +
 3 files changed, 20 insertions(+)

diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
index a6c06056f8..1437660a2c 100755
--- a/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java
@@ -2516,6 +2516,7 @@ public class Env {
         long startTime = System.currentTimeMillis();
         boolean hasLog = false;
         while (true) {
+            long entityStartTime = System.currentTimeMillis();
             Pair<Long, JournalEntity> kv = cursor.next();
             if (kv == null) {
                 break;
@@ -2527,6 +2528,7 @@ public class Env {
             }
             hasLog = true;
             EditLog.loadJournal(this, logId, entity);
+            long loadJournalEndTime = System.currentTimeMillis();
             replayedJournalId.incrementAndGet();
             LOG.debug("journal {} replayed.", replayedJournalId);
             if (feType != FrontendNodeType.MASTER) {
@@ -2536,6 +2538,14 @@ public class Env {
                 // Metric repo may not init after this replay thread start
                 MetricRepo.COUNTER_EDIT_LOG_READ.increase(1L);
             }
+
+            long entityCost = System.currentTimeMillis() - entityStartTime;
+            if (entityCost >= 1000) {
+                long loadJournalCost = loadJournalEndTime - entityStartTime;
+                LOG.warn("entityCost:{} loadJournalCost:{} logId:{} 
replayedJournalId:{} code:{} size:{}",
+                        entityCost, loadJournalCost, logId, replayedJournalId, 
entity.getOpCode(),
+                        entity.getDataSize());
+            }
         }
         long cost = System.currentTimeMillis() - startTime;
         if (cost >= 1000) {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java 
b/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java
index 8feb3022fa..1fd1b2c51f 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/journal/JournalEntity.java
@@ -138,6 +138,7 @@ public class JournalEntity implements Writable {
 
     private short opCode;
     private Writable data;
+    private long dataSize;
 
     public short getOpCode() {
         return this.opCode;
@@ -159,6 +160,14 @@ public class JournalEntity implements Writable {
         return " opCode=" + opCode + " " + data;
     }
 
+    public void setDataSize(long dataSize) {
+        this.dataSize = dataSize;
+    }
+
+    public long getDataSize() {
+        return this.dataSize;
+    }
+
     @Override
     public void write(DataOutput out) throws IOException {
         out.writeShort(opCode);
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJournalCursor.java 
b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJournalCursor.java
index 8939251925..5466df71dd 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJournalCursor.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/journal/bdbje/BDBJournalCursor.java
@@ -113,6 +113,7 @@ public class BDBJournalCursor implements JournalCursor {
                     JournalEntity entity = new JournalEntity();
                     try {
                         entity.readFields(in);
+                        entity.setDataSize(retData.length);
                     } catch (Exception e) {
                         LOG.error("fail to read journal entity key={}, will 
exit", currentKey, e);
                         System.exit(-1);


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to