Repository: hbase Updated Branches: refs/heads/branch-2.1 eb2725126 -> 0290f57c3
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/0290f57c Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/0290f57c Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/0290f57c Branch: refs/heads/branch-2.1 Commit: 0290f57c3aade51a2ed920adeb534f78e879a37c Parents: eb27251 Author: Allan Yang <allan...@apache.org> Authored: Fri Sep 28 09:41:31 2018 +0800 Committer: Allan Yang <allan...@apache.org> Committed: Fri Sep 28 09:41:31 2018 +0800 ---------------------------------------------------------------------- .../hbase/master/procedure/RSProcedureDispatcher.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/0290f57c/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 638f9d3..141b855 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,16 +109,12 @@ public class RSProcedureDispatcher protected void remoteDispatch(final ServerName serverName, final Set<RemoteProcedure> remoteProcedures) { final int rsVersion = master.getServerManager().getVersionNumber(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)) { + if (rsVersion == 0 && !master.getServerManager().isServerOnline(serverName)) { submitTask(new DeadRSRemoteCall(serverName, remoteProcedures)); } else { - LOG.info(String.format( - "Fallback to compat rpc execution for serverName=%s version=%s", - serverName, rsVersion)); + // 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. submitTask(new CompatRemoteProcedureResolver(serverName, remoteProcedures)); } }