ctubbsii commented on code in PR #6423:
URL: https://github.com/apache/accumulo/pull/6423#discussion_r3415421445
##########
server/manager/src/main/java/org/apache/accumulo/manager/ManagerClientServiceHandler.java:
##########
@@ -368,10 +369,17 @@ public void tabletServerStopping(TInfo tinfo,
TCredentials credentials, String t
@Override
public void reportSplitExtent(TInfo info, TCredentials credentials, String
serverName,
- TabletSplit split) throws ThriftSecurityException {
- if (!manager.security.canPerformSystemActions(credentials)) {
- throw new ThriftSecurityException(credentials.getPrincipal(),
- SecurityErrorCode.PERMISSION_DENIED);
+ TabletSplit split) {
+ try {
+ if (!manager.security.canPerformSystemActions(credentials)) {
+ throw new ThriftSecurityException(credentials.getPrincipal(),
+ SecurityErrorCode.PERMISSION_DENIED);
+ }
+ } catch (ThriftSecurityException e) {
+ // this oneway method can't throw a ThriftSecurityException
+ // convert it to a runtime exception, so at least it gets logged on the
server
Review Comment:
I may have jumped to conclusions about it getting logged. I suppose we could
log it explicitly and return, but what happens if it's other RTEs that we
didn't know about? I could be wrong, but I thought those would get logged by
Thrift on the server side, regardless of whether it's oneway or not. For the
non-oneway methods, the client would get a TApplicationException in this case,
but they don't get anything for oneway.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]