From 83dc38a1dffed76ea4d36f18409dd5bc86a3e19e Mon Sep 17 00:00:00 2001 From: Duo Zhang Date: Mon, 19 Nov 2018 17:11:07 +0800 Subject: [PATCH] HBASE-21377 Add debug log for procedure stack id related operations --- .../apache/hadoop/hbase/procedure2/RootProcedureState.java | 5 +++++ .../hadoop/hbase/procedure2/store/wal/WALProcedureTree.java | 3 +++ 2 files changed, 8 insertions(+) diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RootProcedureState.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RootProcedureState.java index 2fc00301e91..a7cdaabb248 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RootProcedureState.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/RootProcedureState.java @@ -24,6 +24,8 @@ import java.util.List; import java.util.Set; import org.apache.yetus.audience.InterfaceAudience; import org.apache.yetus.audience.InterfaceStability; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.ProcedureState; @@ -42,6 +44,8 @@ import org.apache.hadoop.hbase.shaded.protobuf.generated.ProcedureProtos.Procedu @InterfaceStability.Evolving class RootProcedureState { + private static final Logger LOG = LoggerFactory.getLogger(RootProcedureState.class); + private enum State { RUNNING, // The Procedure is running or ready to run FAILED, // The Procedure failed, waiting for the rollback executing @@ -146,6 +150,7 @@ class RootProcedureState { subprocStack = new ArrayList<>(); } proc.addStackIndex(subprocStack.size()); + LOG.debug("Add procedure {} as the {}th rollback step", proc, subprocStack.size()); subprocStack.add(proc); } diff --git a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureTree.java b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureTree.java index c32bd7f6d8c..6e624b4fca2 100644 --- a/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureTree.java +++ b/hbase-procedure/src/main/java/org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureTree.java @@ -145,6 +145,9 @@ public final class WALProcedureTree { private void collectStackId(Entry entry, Map> stackId2Proc, MutableInt maxStackId) { + if (LOG.isDebugEnabled()) { + LOG.debug("Procedure {} stack ids={}", entry, entry.proc.getStackIdList()); + } for (int i = 0, n = entry.proc.getStackIdCount(); i < n; i++) { int stackId = entry.proc.getStackId(i); if (stackId > maxStackId.intValue()) {