You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by al...@apache.org on 2018/09/28 06:08:01 UTC

hbase git commit: Revert "HBASE-21237 Use CompatRemoteProcedureResolver to dispatch open/close region requests to RS"

Repository: hbase
Updated Branches:
  refs/heads/branch-2.1 4947e72f6 -> f6c05facc


Revert "HBASE-21237 Use CompatRemoteProcedureResolver to dispatch open/close region requests to RS"


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

Branch: refs/heads/branch-2.1
Commit: f6c05faccfc0167508da4ccf99b42e44c085b1b8
Parents: 4947e72
Author: Allan Yang <al...@apache.org>
Authored: Fri Sep 28 14:06:54 2018 +0800
Committer: Allan Yang <al...@apache.org>
Committed: Fri Sep 28 14:07:40 2018 +0800

----------------------------------------------------------------------
 .../hbase/master/procedure/RSProcedureDispatcher.java   | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/f6c05fac/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
----------------------------------------------------------------------
diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
index 141b855..638f9d3 100644
--- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
+++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/procedure/RSProcedureDispatcher.java
@@ -109,12 +109,16 @@ public class RSProcedureDispatcher
   protected void remoteDispatch(final ServerName serverName,
       final Set<RemoteProcedure> remoteProcedures) {
     final int rsVersion = master.getServerManager().getVersionNumber(serverName);
-    if (rsVersion == 0 && !master.getServerManager().isServerOnline(serverName)) {
+    if (rsVersion >= RS_VERSION_WITH_EXEC_PROCS) {
+      LOG.trace("Using procedure batch rpc execution for serverName={} version={}", serverName,
+        rsVersion);
+      submitTask(new ExecuteProceduresRemoteCall(serverName, remoteProcedures));
+    } else if (rsVersion == 0 && !master.getServerManager().isServerOnline(serverName)) {
       submitTask(new DeadRSRemoteCall(serverName, remoteProcedures));
     } else {
-      // See HBASE-21237, fallback to CompatRemoteProcedureResolver for now. Since
-      // ExecuteProceduresRemoteCall will group all the open/close requests. If one
-      // fails, master will regard all the requests as failure and then cause some trouble.
+      LOG.info(String.format(
+        "Fallback to compat rpc execution for serverName=%s version=%s",
+        serverName, rsVersion));
       submitTask(new CompatRemoteProcedureResolver(serverName, remoteProcedures));
     }
   }