[
https://issues.apache.org/jira/browse/HIVE-21033?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Szehon Ho updated HIVE-21033:
-----------------------------
Description:
Its a bit tricky to reproduce, but we were able to do it (unfortunately) with
our custom client that did not handle closing the session on the error case.
Basically you have a session with both HiveCommandOperation and SQLOperation
(set a=b; select * from foobar; ).
Both will set up the session's out and err, with the SQLOperation setting it to
be System.out and System.err . ref:
[SQLOperation#setupSessionIO|https://github.com/apache/hive/blob/master/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java#L139]
Then the client terminates without closing the session. (In our case, a
SemanticException triggered it). The deleteContext is called, which closes the
session: ref
[ThriftBinaryCLIService#deleteContext|https://github.com/apache/hive/blob/f37c5de6c32b9395d1b34fa3c02ed06d1bfbf6eb/service/src/java/org/apache/hive/service/cli/thrift/ThriftBinaryCLIService.java#L141]
The Session closes all the operations, starting with HiveCommandOperation.
This one closes all the streams, which it assumes is not System.err but was set
so by SQLOperation. ref:
[HiveCommandOperation#tearDownSessionIO|https://github.com/apache/hive/blob/f37c5de6c32b9395d1b34fa3c02ed06d1bfbf6eb/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java#L101]
After this, no more HiveServer2 logs appear.
was:
Its a bit tricky to reproduce, but we were able to do it (unfortunately) with
our custom client that did not handle closing the session on the error case.
Basically you have a session with both HiveCommandOperation and SQLOperation
(set a=b; select * from foobar;). Both will set up the session's out and err,
with the SQLOperation setting it to be System.out and System.err
ref:
> Sudden disconnect for a session with set and SQL operation cuts off any more
> HiveServer2 logs
> ---------------------------------------------------------------------------------------------
>
> Key: HIVE-21033
> URL: https://issues.apache.org/jira/browse/HIVE-21033
> Project: Hive
> Issue Type: Bug
> Reporter: Szehon Ho
> Priority: Major
>
> Its a bit tricky to reproduce, but we were able to do it (unfortunately) with
> our custom client that did not handle closing the session on the error case.
> Basically you have a session with both HiveCommandOperation and SQLOperation
> (set a=b; select * from foobar; ).
> Both will set up the session's out and err, with the SQLOperation setting it
> to be System.out and System.err . ref:
> [SQLOperation#setupSessionIO|https://github.com/apache/hive/blob/master/service/src/java/org/apache/hive/service/cli/operation/SQLOperation.java#L139]
> Then the client terminates without closing the session. (In our case, a
> SemanticException triggered it). The deleteContext is called, which closes
> the session: ref
> [ThriftBinaryCLIService#deleteContext|https://github.com/apache/hive/blob/f37c5de6c32b9395d1b34fa3c02ed06d1bfbf6eb/service/src/java/org/apache/hive/service/cli/thrift/ThriftBinaryCLIService.java#L141]
> The Session closes all the operations, starting with HiveCommandOperation.
> This one closes all the streams, which it assumes is not System.err but was
> set so by SQLOperation. ref:
> [HiveCommandOperation#tearDownSessionIO|https://github.com/apache/hive/blob/f37c5de6c32b9395d1b34fa3c02ed06d1bfbf6eb/service/src/java/org/apache/hive/service/cli/operation/HiveCommandOperation.java#L101]
>
> After this, no more HiveServer2 logs appear.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)