Josh Elser created ACCUMULO-4059:
------------------------------------

             Summary: Investigate better server-side exceptions on failed SASL 
handshakes
                 Key: ACCUMULO-4059
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-4059
             Project: Accumulo
          Issue Type: Bug
          Components: rpc
            Reporter: Josh Elser
             Fix For: 1.8.0


When a client fails to authenticate with Accumulo with Kerberos, you get the 
nice error message in the log.

{noformat}
2015-11-17 20:04:45,496 [server.TThreadPoolServer] ERROR: Error occurred during 
processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TTransportException
        at 
org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
        at 
org.apache.accumulo.core.rpc.UGIAssumingTransportFactory$1.run(UGIAssumingTransportFactory.java:51)
        at 
org.apache.accumulo.core.rpc.UGIAssumingTransportFactory$1.run(UGIAssumingTransportFactory.java:48)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:360)
        at 
org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1637)
        at 
org.apache.accumulo.core.rpc.UGIAssumingTransportFactory.getTransport(UGIAssumingTransportFactory.java:48)
        at 
org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:208)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at 
org.apache.accumulo.fate.util.LoggingRunnable.run(LoggingRunnable.java:35)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TTransportException
        at 
org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132)
        at org.apache.thrift.transport.TTransport.readAll(TTransport.java:84)
        at 
org.apache.thrift.transport.TSaslTransport.receiveSaslMessage(TSaslTransport.java:178)
        at 
org.apache.thrift.transport.TSaslServerTransport.handleSaslStartMessage(TSaslServerTransport.java:125)
        at 
org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:253)
        at 
org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
        at 
org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
        ... 11 more
{noformat}

The sad thing is that all you know is that _an_ RPC happened and failed. It 
would be nice to try to include things like

* the client's address
* the RPC endpoint (e.g. the thrift message) called
* ... more?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to