From d95dc9433ab2788238d08f9c751f5eec1b425779 Mon Sep 17 00:00:00 2001 From: Elliott Clark Date: Tue, 18 Aug 2015 10:52:07 -0700 Subject: [PATCH] HBASE-14239 Fix Branch-1.2 AM can get stuck when meta moves --- .../java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java | 11 ++++++++--- .../org/apache/hadoop/hbase/master/MasterRpcServices.java | 6 +----- .../org/apache/hadoop/hbase/master/TestMasterPriorityRpc.java | 8 ++++---- 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java index 7ba2442..be8e8f3 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.java @@ -34,8 +34,7 @@ import org.apache.hadoop.hbase.classification.InterfaceStability; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.Action; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MultiRequest; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.MutateRequest; -import org.apache.hadoop.hbase.protobuf.generated - .RegionServerStatusProtos.ReportRegionStateTransitionRequest; +import org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.RegionAction; import org.apache.hadoop.hbase.protobuf.generated.ClientProtos.ScanRequest; import org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader; @@ -189,7 +188,13 @@ public class RWQueueRpcExecutor extends RpcExecutor { if (param instanceof MutateRequest) { return true; } - if (param instanceof ReportRegionStateTransitionRequest) { + if (param instanceof RegionServerStatusProtos.ReportRegionStateTransitionRequest) { + return true; + } + if (param instanceof RegionServerStatusProtos.RegionServerStartupRequest) { + return true; + } + if (param instanceof RegionServerStatusProtos.RegionServerReportRequest) { return true; } return false; diff --git a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java index 9ce53e8..beda27c 100644 --- a/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java +++ b/hbase-server/src/main/java/org/apache/hadoop/hbase/master/MasterRpcServices.java @@ -285,7 +285,7 @@ public class MasterRpcServices extends RSRpcServices } @Override - @QosPriority(priority=HConstants.ADMIN_QOS) + @QosPriority(priority = HConstants.ADMIN_QOS) public GetLastFlushedSequenceIdResponse getLastFlushedSequenceId(RpcController controller, GetLastFlushedSequenceIdRequest request) throws ServiceException { try { @@ -299,7 +299,6 @@ public class MasterRpcServices extends RSRpcServices } @Override - @QosPriority(priority=HConstants.ADMIN_QOS) public RegionServerReportResponse regionServerReport( RpcController controller, RegionServerReportRequest request) throws ServiceException { try { @@ -320,7 +319,6 @@ public class MasterRpcServices extends RSRpcServices } @Override - @QosPriority(priority=HConstants.ADMIN_QOS) public RegionServerStartupResponse regionServerStartup( RpcController controller, RegionServerStartupRequest request) throws ServiceException { // Register with server manager @@ -346,7 +344,6 @@ public class MasterRpcServices extends RSRpcServices } @Override - @QosPriority(priority=HConstants.ADMIN_QOS) public ReportRSFatalErrorResponse reportRSFatalError( RpcController controller, ReportRSFatalErrorRequest request) throws ServiceException { String errorText = request.getErrorMessage(); @@ -1338,7 +1335,6 @@ public class MasterRpcServices extends RSRpcServices } @Override - @QosPriority(priority=HConstants.ADMIN_QOS) public ReportRegionStateTransitionResponse reportRegionStateTransition(RpcController c, ReportRegionStateTransitionRequest req) throws ServiceException { try { diff --git a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterPriorityRpc.java b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterPriorityRpc.java index 3aafe0f..057383a 100644 --- a/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterPriorityRpc.java +++ b/hbase-server/src/test/java/org/apache/hadoop/hbase/master/TestMasterPriorityRpc.java @@ -46,13 +46,13 @@ public class TestMasterPriorityRpc { private PriorityFunction priority = null; private User user = null; - private final Set ADMIN_METHODS = Sets.newHashSet("GetLastFlushedSequenceId", + private final Set ADMIN_METHODS = Sets.newHashSet("GetLastFlushedSequenceId"); + + private final Set NORMAL_METHODS = Sets.newHashSet("CreateTable", "DeleteTable", + "ModifyColumn", "OfflineRegion", "Shutdown", "RegionServerReport", "RegionServerStartup", "ReportRSFatalError", "ReportRegionStateTransition"); - private final Set NORMAL_METHODS = Sets.newHashSet("CreateTable", "DeleteTable", - "ModifyColumn", "OfflineRegion", "Shutdown"); - @Before public void setup() { Configuration conf = HBaseConfiguration.create(); -- 2.5.0