You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by nd...@apache.org on 2023/05/01 15:45:11 UTC

[hbase] branch branch-2 updated (ce4a2bf77fc -> b776c121d06)

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

ndimiduk pushed a change to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git


    from ce4a2bf77fc HBASE-27819 10k RpcServer.MAX_REQUEST_SIZE is not enough in ReplicationDroppedTable related tests (#5208)
     new da810793651 HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (#5145)
     new b776c121d06 HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum)

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 conf/log4j2.properties                                               | 2 +-
 hbase-logging/src/test/resources/log4j2.properties                   | 2 +-
 .../src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java | 5 +++++
 .../hadoop/hbase/regionserver/handler/AssignRegionHandler.java       | 2 ++
 .../apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java | 2 ++
 .../hadoop/hbase/regionserver/handler/UnassignRegionHandler.java     | 2 ++
 6 files changed, 13 insertions(+), 2 deletions(-)


[hbase] 01/02: HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (#5145)

Posted by nd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ndimiduk pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit da810793651ed77f985bf1edee39bbbdda4de2c8
Author: Nick Dimiduk <nd...@apache.org>
AuthorDate: Mon Apr 17 14:22:04 2023 +0200

    HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (#5145)
    
    Signed-off-by: Duo Zhang <zh...@apache.org>
---
 conf/log4j2.properties                                               | 2 +-
 hbase-logging/src/test/resources/log4j2.properties                   | 2 +-
 .../src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java | 5 +++++
 .../hadoop/hbase/regionserver/handler/AssignRegionHandler.java       | 2 ++
 .../apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java | 2 ++
 .../hadoop/hbase/regionserver/handler/UnassignRegionHandler.java     | 2 ++
 6 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/conf/log4j2.properties b/conf/log4j2.properties
index 5ffcfda2417..90d52a2bea1 100644
--- a/conf/log4j2.properties
+++ b/conf/log4j2.properties
@@ -25,7 +25,7 @@ appender.console.type = Console
 appender.console.target = SYSTEM_ERR
 appender.console.name = console
 appender.console.layout.type = PatternLayout
-appender.console.layout.pattern = %d{ISO8601} %-5p [%t] %c{2}: %.1000m%n
+appender.console.layout.pattern = %d{ISO8601} %-5p [%t (%X)] %c{2}: %.1000m%n
 
 # Daily Rolling File Appender
 appender.DRFA.type = RollingFile
diff --git a/hbase-logging/src/test/resources/log4j2.properties b/hbase-logging/src/test/resources/log4j2.properties
index 56d67c85aa1..4f29bb45562 100644
--- a/hbase-logging/src/test/resources/log4j2.properties
+++ b/hbase-logging/src/test/resources/log4j2.properties
@@ -26,7 +26,7 @@ appender.console.target = SYSTEM_ERR
 appender.console.name = Console
 appender.console.maxSize = 1G
 appender.console.layout.type = PatternLayout
-appender.console.layout.pattern = %d{ISO8601} %-5p [%t] %C{2}(%L): %m%n
+appender.console.layout.pattern = %d{ISO8601} %-5p [%t (%X)] %C{2}(%L): %m%n
 
 rootLogger = INFO,Console
 
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
index ece244fda4f..1244259fc17 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/executor/EventHandler.java
@@ -27,6 +27,7 @@ import org.apache.hadoop.hbase.trace.TraceUtil;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 /**
  * Abstract base class for all HBase event handlers. Subclasses should implement the
@@ -96,12 +97,16 @@ public abstract class EventHandler implements Runnable, Comparable<EventHandler>
   public void run() {
     Span span = TraceUtil.getGlobalTracer().spanBuilder(getClass().getSimpleName())
       .setParent(Context.current().with(parent)).startSpan();
+    // assume that this is the top of an execution on a new or reused thread, that we're safe to
+    // blast any existing MDC state.
     try (Scope scope = span.makeCurrent()) {
+      MDC.put("event_type", eventType.toString());
       process();
     } catch (Throwable t) {
       handleException(t);
     } finally {
       span.end();
+      MDC.clear();
     }
   }
 
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/AssignRegionHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/AssignRegionHandler.java
index 7f9f95bee68..a9ab6f502a3 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/AssignRegionHandler.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/AssignRegionHandler.java
@@ -38,6 +38,7 @@ import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode;
 
@@ -93,6 +94,7 @@ public class AssignRegionHandler extends EventHandler {
 
   @Override
   public void process() throws IOException {
+    MDC.put("pid", Long.toString(openProcId));
     HRegionServer rs = getServer();
     String encodedName = regionInfo.getEncodedName();
     byte[] encodedNameBytes = regionInfo.getEncodedNameAsBytes();
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java
index d4ddebe727d..d3ecc8a51e2 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java
@@ -23,6 +23,7 @@ import org.apache.hadoop.hbase.regionserver.HRegionServer;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 /**
  * A event handler for running procedure.
@@ -46,6 +47,7 @@ public class RSProcedureHandler extends EventHandler {
   public void process() {
     Throwable error = null;
     try {
+      MDC.put("pid", Long.toString(procId));
       callable.call();
     } catch (Throwable t) {
       LOG.error("pid=" + this.procId, t);
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.java
index 0d54ec1a6e5..f150006d029 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/UnassignRegionHandler.java
@@ -35,6 +35,7 @@ import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;
 import org.apache.yetus.audience.InterfaceAudience;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+import org.slf4j.MDC;
 
 import org.apache.hadoop.hbase.shaded.protobuf.generated.RegionServerStatusProtos.RegionStateTransition.TransitionCode;
 
@@ -86,6 +87,7 @@ public class UnassignRegionHandler extends EventHandler {
 
   @Override
   public void process() throws IOException {
+    MDC.put("pid", Long.toString(closeProcId));
     HRegionServer rs = getServer();
     byte[] encodedNameBytes = Bytes.toBytes(encodedName);
     Boolean previous = rs.getRegionsInTransitionInRS().putIfAbsent(encodedNameBytes, Boolean.FALSE);


[hbase] 02/02: HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum)

Posted by nd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

ndimiduk pushed a commit to branch branch-2
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit b776c121d0634c795c98c2c55c5c229316d9eb16
Author: Nick Dimiduk <nd...@apache.org>
AuthorDate: Mon Apr 24 14:06:19 2023 +0200

    HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum)
    
    Make use of `%notEmpty` pattern with MDC logging. Will function as expected once we upgrade to
    Log4J 2.21.0+.
---
 conf/log4j2.properties                             | 2 +-
 hbase-logging/src/test/resources/log4j2.properties | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/conf/log4j2.properties b/conf/log4j2.properties
index 90d52a2bea1..31e2cf4660f 100644
--- a/conf/log4j2.properties
+++ b/conf/log4j2.properties
@@ -25,7 +25,7 @@ appender.console.type = Console
 appender.console.target = SYSTEM_ERR
 appender.console.name = console
 appender.console.layout.type = PatternLayout
-appender.console.layout.pattern = %d{ISO8601} %-5p [%t (%X)] %c{2}: %.1000m%n
+appender.console.layout.pattern = %d{ISO8601} %-5p [%t%notEmpty{ %X}] %c{2}: %.1000m%n
 
 # Daily Rolling File Appender
 appender.DRFA.type = RollingFile
diff --git a/hbase-logging/src/test/resources/log4j2.properties b/hbase-logging/src/test/resources/log4j2.properties
index 4f29bb45562..1ad75787041 100644
--- a/hbase-logging/src/test/resources/log4j2.properties
+++ b/hbase-logging/src/test/resources/log4j2.properties
@@ -26,7 +26,7 @@ appender.console.target = SYSTEM_ERR
 appender.console.name = Console
 appender.console.maxSize = 1G
 appender.console.layout.type = PatternLayout
-appender.console.layout.pattern = %d{ISO8601} %-5p [%t (%X)] %C{2}(%L): %m%n
+appender.console.layout.pattern = %d{ISO8601} %-5p [%t%notEmpty{ %X}] %C{2}(%L): %m%n
 
 rootLogger = INFO,Console