You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by vj...@apache.org on 2020/12/30 18:58:19 UTC
[hbase] branch branch-1 updated: HBASE-25441 : add security check
for some APIs in RSRpcServices (#2832) (#2810)
This is an automated email from the ASF dual-hosted git repository.
vjasani pushed a commit to branch branch-1
in repository https://gitbox.apache.org/repos/asf/hbase.git
The following commit(s) were added to refs/heads/branch-1 by this push:
new 8a16aed HBASE-25441 : add security check for some APIs in RSRpcServices (#2832) (#2810)
8a16aed is described below
commit 8a16aed8171a3ca26297e4ee611591fa6cc50b6b
Author: lujiefsi <lu...@foxmail.com>
AuthorDate: Thu Dec 31 02:57:57 2020 +0800
HBASE-25441 : add security check for some APIs in RSRpcServices (#2832) (#2810)
Signed-off-by: stack <st...@apache.org>
Signed-off-by: Viraj Jasani <vj...@apache.org>
---
.../main/java/org/apache/hadoop/hbase/master/HMaster.java | 13 +++++++++++++
.../org/apache/hadoop/hbase/regionserver/RSRpcServices.java | 4 ++++
2 files changed, 17 insertions(+)
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 4dd974c..a715581 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
@@ -2782,6 +2782,19 @@ public class HMaster extends HRegionServer implements MasterServices, Server {
}
/**
+ * Report whether this master is started
+ *
+ * This method is used for testing.
+ *
+ * @return true if master is ready to go, false if not.
+ */
+
+ @Override
+ public boolean isOnline() {
+ return serviceStarted;
+ }
+
+ /**
* Report whether this master is in maintenance mode.
*
* @return true if master is in maintenanceMode
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 47955b5..adef164 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
@@ -2224,6 +2224,7 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
@QosPriority(priority=HConstants.ADMIN_QOS)
public StopServerResponse stopServer(final RpcController controller,
final StopServerRequest request) throws ServiceException {
+ rpcPreCheck("stopServer");
requestCount.increment();
String reason = request.getReason();
regionServer.stop(reason);
@@ -2233,6 +2234,7 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
@Override
public UpdateFavoredNodesResponse updateFavoredNodes(RpcController controller,
UpdateFavoredNodesRequest request) throws ServiceException {
+ rpcPreCheck("updateFavoredNodes");
List<UpdateFavoredNodesRequest.RegionUpdateInfo> openInfoList = request.getUpdateInfoList();
UpdateFavoredNodesResponse.Builder respBuilder = UpdateFavoredNodesResponse.newBuilder();
for (UpdateFavoredNodesRequest.RegionUpdateInfo regionUpdateInfo : openInfoList) {
@@ -3334,6 +3336,7 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
RpcController controller, UpdateConfigurationRequest request)
throws ServiceException {
try {
+ requirePermission("updateConfiguration", Permission.Action.ADMIN);
this.regionServer.updateConfiguration();
} catch (Exception e) {
throw new ServiceException(e);
@@ -3361,6 +3364,7 @@ public class RSRpcServices implements HBaseRPCErrorHandler,
@QosPriority(priority=HConstants.ADMIN_QOS)
public ClearSlowLogResponses clearSlowLogsResponses(RpcController controller,
ClearSlowLogResponseRequest request) throws ServiceException {
+ rpcPreCheck("clearSlowLogsResponses");
final NamedQueueRecorder namedQueueRecorder =
this.regionServer.getNamedQueueRecorder();
boolean slowLogsCleaned = false;