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:46:05 UTC

[hbase] branch branch-2.4 updated (a417e5e61e8 -> c02eb872394)

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

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


    from a417e5e61e8 HBASE-27819 10k RpcServer.MAX_REQUEST_SIZE is not enough in ReplicationDroppedTable related tests (#5208)
     new 1d3d900957a HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (#5145)
     new ed76779b903 HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum)
     new c02eb872394 HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum for branch-2.4,5)

The 3 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:
 .../main/java/org/apache/hadoop/hbase/executor/EventHandler.java    | 6 ++++++
 .../hadoop/hbase/regionserver/handler/AssignRegionHandler.java      | 2 ++
 .../hadoop/hbase/regionserver/handler/RSProcedureHandler.java       | 2 ++
 .../hadoop/hbase/regionserver/handler/UnassignRegionHandler.java    | 2 ++
 4 files changed, 12 insertions(+)


[hbase] 01/03: 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.4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit 1d3d900957a58031854f5d90b1a3fcf0f75dd543
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>
---
 hbase-logging/src/test/resources/log4j.properties                   | 2 +-
 .../main/java/org/apache/hadoop/hbase/executor/EventHandler.java    | 6 ++++++
 .../hadoop/hbase/regionserver/handler/AssignRegionHandler.java      | 2 ++
 .../hadoop/hbase/regionserver/handler/RSProcedureHandler.java       | 2 ++
 .../hadoop/hbase/regionserver/handler/UnassignRegionHandler.java    | 2 ++
 5 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/hbase-logging/src/test/resources/log4j.properties b/hbase-logging/src/test/resources/log4j.properties
index c322699ced2..41035d18638 100644
--- a/hbase-logging/src/test/resources/log4j.properties
+++ b/hbase-logging/src/test/resources/log4j.properties
@@ -48,7 +48,7 @@ log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %C{2}(%L): %m
 log4j.appender.console=org.apache.log4j.ConsoleAppender
 log4j.appender.console.target=System.err
 log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %C{2}(%L): %m%n
+log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t (%X)] %C{2}(%L): %m%n
 
 # Custom Logging levels
 
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 7176f530616..01b9029b3f4 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.htrace.core.Tracer;
 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
@@ -94,10 +95,15 @@ public abstract class EventHandler implements Runnable, Comparable<EventHandler>
 
   @Override
   public void run() {
+    // 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 (TraceScope scope = TraceUtil.createTrace(this.getClass().getSimpleName(), parent)) {
+      MDC.put("event_type", eventType.toString());
       process();
     } catch (Throwable t) {
       handleException(t);
+    } finally {
+      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 33eaf675c6a..e312df9862d 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;
 
@@ -78,6 +79,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/03: 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.4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit ed76779b903ee24cfc0b266a5617a38fbdfd558c
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+.
---
 hbase-logging/src/test/resources/log4j.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hbase-logging/src/test/resources/log4j.properties b/hbase-logging/src/test/resources/log4j.properties
index 41035d18638..018d1839c60 100644
--- a/hbase-logging/src/test/resources/log4j.properties
+++ b/hbase-logging/src/test/resources/log4j.properties
@@ -48,7 +48,7 @@ log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %C{2}(%L): %m
 log4j.appender.console=org.apache.log4j.ConsoleAppender
 log4j.appender.console.target=System.err
 log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t (%X)] %C{2}(%L): %m%n
+log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t%notEmpty{ %X}] %C{2}(%L): %m%n
 
 # Custom Logging levels
 


[hbase] 03/03: HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum for branch-2.4,5)

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.4
in repository https://gitbox.apache.org/repos/asf/hbase.git

commit c02eb87239436677e8828deebd52e15fb0bb188d
Author: Nick Dimiduk <nd...@apache.org>
AuthorDate: Fri Apr 28 12:12:28 2023 +0200

    HBASE-27762 Include EventType and ProcedureV2 pid in logging via MDC (addendum for branch-2.4,5)
---
 hbase-logging/src/test/resources/log4j.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hbase-logging/src/test/resources/log4j.properties b/hbase-logging/src/test/resources/log4j.properties
index 018d1839c60..c322699ced2 100644
--- a/hbase-logging/src/test/resources/log4j.properties
+++ b/hbase-logging/src/test/resources/log4j.properties
@@ -48,7 +48,7 @@ log4j.appender.DRFA.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %C{2}(%L): %m
 log4j.appender.console=org.apache.log4j.ConsoleAppender
 log4j.appender.console.target=System.err
 log4j.appender.console.layout=org.apache.log4j.PatternLayout
-log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t%notEmpty{ %X}] %C{2}(%L): %m%n
+log4j.appender.console.layout.ConversionPattern=%d{ISO8601} %-5p [%t] %C{2}(%L): %m%n
 
 # Custom Logging levels