[
https://issues.apache.org/jira/browse/HIVE-25307?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17375104#comment-17375104
]
Matt McCline commented on HIVE-25307:
-------------------------------------
Work-in-progress patch attached. Next step: create a pull request. FYI:
[~ashish-kumar-sharma] [~sankarh]
> Hive Server 2 crashes when Thrift library encounters particular security
> protocol issue
> ---------------------------------------------------------------------------------------
>
> Key: HIVE-25307
> URL: https://issues.apache.org/jira/browse/HIVE-25307
> Project: Hive
> Issue Type: Bug
> Reporter: Matt McCline
> Assignee: Matt McCline
> Priority: Critical
> Attachments: hive-thrift-fix-01-3_1.patch
>
>
> A RuntimeException is thrown by the Thrift library that causes Hive Server 2
> to crash on our customer's machine. If you Google this the exception has been
> reported a couple of times over the years but not fixed. A blog (see
> references below) says it is an occasional security protocol issue between
> Hive Server 2 and a proxy like a Gateway.
> One challenge is the Thrift TTransportFactory getTransport method declaration
> throws no Exceptions hence the likely choice of RuntimeException. But that
> Exception is fatal to Hive Server 2.
> The proposed fix is a work around that catches RuntimeException in Hive
> Server 2, saves the Exception cause in a dummy TTransport object, and throws
> the cause when TTransport's open method is called later.
>
> ExceptionClassName:
> java.lang.RuntimeException
> ExceptionStackTrace:
> 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.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:694)
> at
> org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory$1.run(HadoopThriftAuthBridge.java:691)
> 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:1710)
> at
> org.apache.hadoop.hive.metastore.security.HadoopThriftAuthBridge$Server$TUGIAssumingTransportFactory.getTransport(HadoopThriftAuthBridge.java:691)
> at
> org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:269)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> 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:326)
> at
> org.apache.thrift.transport.TSaslServerTransport.open(TSaslServerTransport.java:41)
> at
> org.apache.thrift.transport.TSaslServerTransport$Factory.getTransport(TSaslServerTransport.java:216)
> ... 10 more
>
> References:
> [Hive server 2 thrift error - Cloudera Community -
> 34293|https://community.cloudera.com/t5/Support-Questions/Hive-server-2-thrift-error/td-p/34293]
> Eric Lin blog "“NO DATA OR NO SASL DATA IN THE STREAM” ERROR IN HIVESERVER2
> LOG"
> [HIVE-12754] AuthTypes.NONE cause exception after HS2 start - ASF JIRA
> (apache.org)
>
--
This message was sent by Atlassian Jira
(v8.3.4#803005)