You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by el...@apache.org on 2018/12/07 22:28:48 UTC

[05/51] [abbrv] hbase git commit: HBASE-21485 Add more debug logs for remote procedure execution

HBASE-21485 Add more debug logs for remote procedure execution


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/43a10df7
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/43a10df7
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/43a10df7

Branch: refs/heads/HBASE-20952
Commit: 43a10df70fcf36999ce28e1ba0ac06e0d62ccaf1
Parents: a819875
Author: zhangduo <zh...@apache.org>
Authored: Fri Nov 16 11:18:58 2018 +0800
Committer: zhangduo <zh...@apache.org>
Committed: Fri Nov 16 14:30:59 2018 +0800

----------------------------------------------------------------------
 .../java/org/apache/hadoop/hbase/master/HMaster.java     |  2 ++
 .../apache/hadoop/hbase/regionserver/RSRpcServices.java  |  3 +++
 .../regionserver/RemoteProcedureResultReporter.java      |  2 ++
 .../hbase/regionserver/handler/RSProcedureHandler.java   | 11 ++++++-----
 4 files changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/43a10df7/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
index df744b6..31dc208 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
@@ -3888,6 +3888,7 @@ public class HMaster extends HRegionServer implements MasterServices {
   }
 
   public void remoteProcedureCompleted(long procId) {
+    LOG.debug("Remote procedure done, pid={}", procId);
     RemoteProcedure<MasterProcedureEnv, ?> procedure = getRemoteProcedure(procId);
     if (procedure != null) {
       procedure.remoteOperationCompleted(procedureExecutor.getEnvironment());
@@ -3895,6 +3896,7 @@ public class HMaster extends HRegionServer implements MasterServices {
   }
 
   public void remoteProcedureFailed(long procId, RemoteProcedureException error) {
+    LOG.debug("Remote procedure failed, pid={}", procId, error);
     RemoteProcedure<MasterProcedureEnv, ?> procedure = getRemoteProcedure(procId);
     if (procedure != null) {
       procedure.remoteOperationFailed(procedureExecutor.getEnvironment(), error);

http://git-wip-us.apache.org/repos/asf/hbase/blob/43a10df7/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
index 17c582d..df84dcf 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RSRpcServices.java
@@ -3734,10 +3734,13 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
       callable = Class.forName(request.getProcClass()).asSubclass(RSProcedureCallable.class)
         .getDeclaredConstructor().newInstance();
     } catch (Exception e) {
+      LOG.warn("Failed to instantiating remote procedure {}, pid={}", request.getProcClass(),
+        request.getProcId(), e);
       regionServer.remoteProcedureComplete(request.getProcId(), e);
       return;
     }
     callable.init(request.getProcData().toByteArray(), regionServer);
+    LOG.debug("Executing remote procedure {}, pid={}", callable.getClass(), request.getProcId());
     regionServer.executeProcedure(request.getProcId(), callable);
   }
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/43a10df7/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
index ac3e95a..efb044a 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/RemoteProcedureResultReporter.java
@@ -57,9 +57,11 @@ class RemoteProcedureResultReporter extends Thread {
   public void complete(long procId, Throwable error) {
     RemoteProcedureResult.Builder builder = RemoteProcedureResult.newBuilder().setProcId(procId);
     if (error != null) {
+      LOG.debug("Failed to complete execution of proc pid={}", procId, error);
       builder.setStatus(RemoteProcedureResult.Status.ERROR).setError(
         ForeignExceptionUtil.toProtoForeignException(server.getServerName().toString(), error));
     } else {
+      LOG.debug("Successfully complete execution of proc pid={}", procId);
       builder.setStatus(RemoteProcedureResult.Status.SUCCESS);
     }
     results.add(builder.build());

http://git-wip-us.apache.org/repos/asf/hbase/blob/43a10df7/hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/handler/RSProcedureHandler.java
----------------------------------------------------------------------
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 d2175d0..ddff13f 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
@@ -42,13 +42,14 @@ public class RSProcedureHandler extends EventHandler {
 
   @Override
   public void process() {
-    Exception error = null;
+    Throwable error = null;
     try {
       callable.call();
-    } catch (Exception e) {
-      LOG.error("Catch exception when call RSProcedureCallable: ", e);
-      error = e;
+    } catch (Throwable t) {
+      LOG.error("Error when call RSProcedureCallable: ", t);
+      error = t;
+    } finally {
+      ((HRegionServer) server).remoteProcedureComplete(procId, error);
     }
-    ((HRegionServer) server).remoteProcedureComplete(procId, error);
   }
 }