You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@thrift.apache.org by "Harsh J (JIRA)" <ji...@apache.org> on 2016/04/05 18:30:25 UTC

[jira] [Commented] (THRIFT-3769) Fix logic of THRIFT-2268

    [ https://issues.apache.org/jira/browse/THRIFT-3769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15226580#comment-15226580 ] 

Harsh J commented on THRIFT-3769:
---------------------------------

Post THRIFT-2268, the load balancers will generate these obscure (but very harmless) errors, note the RuntimeException wrap:

{code}
2016-03-01 00:10:59,128 ERROR org.apache.thrift.server.TThreadPoolServer: [HiveServer2-Handler-Pool: Thread-982]: Error occurred during processing of message.
java.lang.RuntimeException: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:219)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:742)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:739)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:356)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1651)
        at org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:739)
        at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:268)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:745)
Caused by: org.apache.thrift.transport.TSaslTransportException: No data or no sasl data in the stream
        at org.apache.thrift.transport.TSaslTransport.open(TSaslTransport.java:328)
        at org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
        at org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
        ... 10 more
{code}

> Fix logic of THRIFT-2268
> ------------------------
>
>                 Key: THRIFT-3769
>                 URL: https://issues.apache.org/jira/browse/THRIFT-3769
>             Project: Thrift
>          Issue Type: Bug
>          Components: Java - Library
>    Affects Versions: 0.9.2
>            Reporter: Harsh J
>            Priority: Minor
>         Attachments: THRIFT-3769.patch
>
>
> THRIFT-2268 intended to reduce the logging noise of TSaslTransport enabled servers, but the commit doesn't help in doing so (its just adding more specific noise today).
> This is because the transport factory overrides disallow throwing specific execution types (no TTransportException in signature), and thereby all implementations will throw a RuntimeException-wrapped exception, which the added catch clauses would never encounter.
> https://github.com/apache/thrift/blob/master/lib/java/src/org/apache/thrift/transport/TSaslServerTransport.java#L217-L219
> https://github.com/apache/thrift/blob/master/lib/java/src/org/apache/thrift/server/TThreadPoolServer.java#L290-L295
> We'll need to unwrap the RuntimeException to perform an actual valid cause check.



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