[ https://issues.apache.org/jira/browse/HBASE-25441?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
lujie updated HBASE-25441: -------------------------- Description: getLogEntries clearSlowLogsResponses stopServer Actually, "stopServer" has "preStop" check in its callee "stop", but "stop" will not throw any exception due to below code: {code:java} catch (IOException ioe) { if (!force) { LOG.warn("The region server did not stop", ioe); return; } LOG.warn("Skipping coprocessor exception on preStop() due to forced shutdown", ioe); } {code} So client who call stopServer will not know whether his request is successful or not. Here we add rpcPreCheck("stopServer"); can make client clearly see the message: ERROR RuntimeError: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user 'user1' (global, action=ADMIN) was: getLogEntries clearSlowLogsResponses stopServer Actually, "stopServer" has "preStop" check in its callee "stop", but "stop" will not throw any exception due to below code: {code:java} catch (IOException ioe) { if (!force) { LOG.warn("The region server did not stop", ioe); return; } LOG.warn("Skipping coprocessor exception on preStop() due to forced shutdown", ioe); } {code} So client who call stopServer will not knwo whether his request is whether it is successful or not. Here we add > add security check for some APIs in RSRpcServices > ------------------------------------------------- > > Key: HBASE-25441 > URL: https://issues.apache.org/jira/browse/HBASE-25441 > Project: HBase > Issue Type: Bug > Reporter: lujie > Priority: Critical > > getLogEntries > clearSlowLogsResponses > stopServer > > Actually, "stopServer" has "preStop" check in its callee "stop", but "stop" > will not throw any exception due to below code: > {code:java} > catch (IOException ioe) { > if (!force) { > LOG.warn("The region server did not stop", ioe); > return; > } > LOG.warn("Skipping coprocessor exception on preStop() due to forced > shutdown", ioe); > } > {code} > So client who call stopServer will not know whether his request is successful > or not. Here we add rpcPreCheck("stopServer"); can make client clearly see > the message: > ERROR RuntimeError: org.apache.hadoop.hbase.security.AccessDeniedException: > Insufficient permissions for user 'user1' (global, action=ADMIN) -- This message was sent by Atlassian Jira (v8.3.4#803005)