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);
}
}