From 1036e61a41833c086f892e894667ce0a03955447 Mon Sep 17 00:00:00 2001 From: Andrew Purtell Date: Fri, 23 Jun 2023 15:58:30 -0700 Subject: [PATCH] HBASE-27951 Use ADMIN_QOS in MasterRpcServices for regionserver operational dependencies It seems not correct to have the MasterRpcServices methods for direct regionserver<->master communication (regionServerStartup, regionServerReport, and reportFatalRSError) contending with normal priority requests. They should be made ADMIN_QOS priority to avoid potential operational deadlocks. --- .../java/org/apache/hadoop/hbase/master/MasterRpcServices.java | 3 +++ 1 file changed, 3 insertions(+) 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 a2d5e8a16ecd..2e416f5e1a07 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 @@ -618,6 +618,7 @@ public GetLastFlushedSequenceIdResponse getLastFlushedSequenceId(RpcController c } @Override + @QosPriority(priority = HConstants.ADMIN_QOS) public RegionServerReportResponse regionServerReport(RpcController controller, RegionServerReportRequest request) throws ServiceException { try { @@ -653,6 +654,7 @@ public RegionServerReportResponse regionServerReport(RpcController controller, } @Override + @QosPriority(priority = HConstants.ADMIN_QOS) public RegionServerStartupResponse regionServerStartup(RpcController controller, RegionServerStartupRequest request) throws ServiceException { // Register with server manager @@ -684,6 +686,7 @@ public RegionServerStartupResponse regionServerStartup(RpcController controller, } @Override + @QosPriority(priority = HConstants.ADMIN_QOS) public ReportRSFatalErrorResponse reportRSFatalError(RpcController controller, ReportRSFatalErrorRequest request) throws ServiceException { String errorText = request.getErrorMessage();