hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (Jira)" <j...@apache.org>
Subject [jira] [Work logged] (HIVE-23526) Beeline may throw the misleading exception
Date Wed, 03 Jun 2020 23:49:00 GMT

     [ https://issues.apache.org/jira/browse/HIVE-23526?focusedWorklogId=441031&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-441031
]

ASF GitHub Bot logged work on HIVE-23526:
-----------------------------------------

                Author: ASF GitHub Bot
            Created on: 03/Jun/20 23:48
            Start Date: 03/Jun/20 23:48
    Worklog Time Spent: 10m 
      Work Description: dengzhhu653 commented on pull request #1029:
URL: https://github.com/apache/hive/pull/1029#issuecomment-638518722


   > As I understand it, the code calling the JDBC Driver captures and handles the OOM
error and then closes the JDBC Driver. When it closes, it throws another error " CloseOperation
failed: out of sequence response". You would like for the close to be silent here. Is that
correct?
   > 
   > If so, there's not a ton that can be done here (other than perhaps wrap the OOM error
in a Thrift Exception).
   > 
   > In this particular case, Thrift client is reading the size of the string off the wire,
then trying to create a buffer large enough to read the string. This is where it fails. When
it fails here, it loses its place in the stream. The data is still in the stream, but the
size is lost since that was read before the OOM error and there is no way to push the size
back into the stream. At this point, Thrift client is hosed and it can't read anything else.
   > 
   > When the JDBC Driver is closed, it sends a "close" request to HS2 to gracefully close
the Hive session on the server. However, it is unable to read the response properly because,
again, it lost its place and does not know how to find the next message. I'm not sure what
the fix is here, but I don't think this is it.
   
   Yes, that's the truth, somehow a socket read timeout can also make the same trouble. The
fix handles the root cause before beeline throwing the puzzling exception, make the beeline
user have a way to fix the problem quickly. Maybe this is not a bug fix but just an improvement.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Issue Time Tracking
-------------------

    Worklog Id:     (was: 441031)
    Time Spent: 3h  (was: 2h 50m)

> Beeline may throw the misleading exception
> ------------------------------------------
>
>                 Key: HIVE-23526
>                 URL: https://issues.apache.org/jira/browse/HIVE-23526
>             Project: Hive
>          Issue Type: Bug
>          Components: Beeline
>         Environment: Hive 1.2.2
>            Reporter: Zhihua Deng
>            Priority: Major
>              Labels: pull-request-available
>         Attachments: HIVE-23526.2.patch, HIVE-23526.3.patch, HIVE-23526.patch, outofsequence.log
>
>          Time Spent: 3h
>  Remaining Estimate: 0h
>
> Sometimes we can see 'out of sequence response' message in beeline, for example:
> Error: org.apache.thrift.TApplicationException: CloseOperation failed: out of sequence
response (state=08S01,code=0)
> java.sql.SQLException: org.apache.thrift.TApplicationException: CloseOperation failed:
out of sequence response
> at org.apache.hive.jdbc.HiveStatement.closeClientOperation(HiveStatement.java:198)
> at org.apache.hive.jdbc.HiveStatement.close(HiveStatement.java:217)
> at org.apache.hive.beeline.Commands.execute(Commands.java:891)
> at org.apache.hive.beeline.Commands.sql(Commands.java:713)
> at org.apache.hive.beeline.BeeLine.dispatch(BeeLine.java:976)
> at org.apache.hive.beeline.BeeLine.execute(BeeLine.java:816)
> at org.apache.hive.beeline.BeeLine.begin(BeeLine.java:774)
> at org.apache.hive.beeline.BeeLine.mainWithInputRedirection(BeeLine.java:487)
> at org.apache.hive.beeline.BeeLine.main(BeeLine.java:470)
> and there is no other usage message to figured it out, even with --verbose, this makes
problem puzzled as beeline does not have concurrency problem on underlying thrift transport.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Mime
View raw message