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

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/12682300/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.testRemainingTransactions
{noformat}

Test results: 
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/1839/testReport
Console output: 
http://ec2-174-129-184-35.compute-1.amazonaws.com/jenkins/job/PreCommit-HIVE-TRUNK-Build/1839/console
Test logs: 
http://ec2-174-129-184-35.compute-1.amazonaws.com/logs/PreCommit-HIVE-TRUNK-Build-1839/

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: 12682300 - 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, 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)

Reply via email to