[ https://issues.apache.org/jira/browse/HIVE-8829?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14217023#comment-14217023 ]
Hive QA commented on HIVE-8829: ------------------------------- {color:red}Overall{color}: -1 at least one tests failed Here are the results of testing the latest attachment: https://issues.apache.org/jira/secure/attachment/12682218/HIVE-8829.1.patch {color:red}ERROR:{color} -1 due to 2 failed/errored test(s), 6642 tests executed *Failed tests:* {noformat} org.apache.hadoop.hive.cli.TestMiniTezCliDriver.testCliDriver_optimize_nullscan org.apache.hive.hcatalog.streaming.TestStreaming.testInterleavedTransactionBatchCommits {noformat} Test results: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/1836/testReport Console output: http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/1836/console Test logs: http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-1836/ Messages: {noformat} Executing org.apache.hive.ptest.execution.PrepPhase Executing org.apache.hive.ptest.execution.ExecutionPhase Executing org.apache.hive.ptest.execution.ReportingPhase Tests exited with: TestsFailedException: 2 tests failed {noformat} This message is automatically generated. ATTACHMENT ID: 12682218 - PreCommit-HIVE-TRUNK-Build > Upgrade to Thrift 0.9.2 > ----------------------- > > Key: HIVE-8829 > URL: https://issues.apache.org/jira/browse/HIVE-8829 > Project: Hive > Issue Type: Improvement > Affects Versions: 0.15.0 > Reporter: Vaibhav Gumashta > Assignee: Prasad Mujumdar > Labels: HiveServer2, metastore > Fix For: 0.15.0 > > Attachments: HIVE-8829.1.patch > > > Apache Thrift 0.9.2 was released recently > (https://thrift.apache.org/download). It has a fix for THRIFT-2660 which can > cause HS2 (tcp mode) and Metastore processes to go OOM on getting a > non-thrift request when they use SASL transport. The reason ([thrift > code|https://github.com/apache/thrift/blob/0.9.x/lib/java/src/org/apache/thrift/transport/TSaslTransport.java#L177]): > {code} > protected SaslResponse receiveSaslMessage() throws TTransportException { > underlyingTransport.readAll(messageHeader, 0, messageHeader.length); > byte statusByte = messageHeader[0]; > byte[] payload = new byte[EncodingUtils.decodeBigEndian(messageHeader, > STATUS_BYTES)]; > underlyingTransport.readAll(payload, 0, payload.length); > NegotiationStatus status = NegotiationStatus.byValue(statusByte); > if (status == null) { > sendAndThrowMessage(NegotiationStatus.ERROR, "Invalid status " + > statusByte); > } else if (status == NegotiationStatus.BAD || status == > NegotiationStatus.ERROR) { > try { > String remoteMessage = new String(payload, "UTF-8"); > throw new TTransportException("Peer indicated failure: " + > remoteMessage); > } catch (UnsupportedEncodingException e) { > throw new TTransportException(e); > } > } > {code} > Basically since there are no message format checks / size checks before > creating the byte array, on getting a non-SASL message this creates a huge > byte array from some garbage size. > For HS2, an attempt was made to fix it here: HIVE-6468, which never went in. > I think for 0.15.0 it's best to upgarde to Thrift 0.9.2. -- This message was sent by Atlassian JIRA (v6.3.4#6332)