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

Prasanth Jayachandran commented on HIVE-19873:
----------------------------------------------

only close() uses timeout of 0. cancel() uses timeout from config. The reason 
is that during close() the clients will not iterate on the result set. But 
thats not the case for cancel. Since cancel() can be triggered anytime anytime 
in the background even when someone is iterating over the result set. This 
patch just adds a delayed cleanup on cancel. 

> Cleanup operation log on query cancellation after some delay
> ------------------------------------------------------------
>
>                 Key: HIVE-19873
>                 URL: https://issues.apache.org/jira/browse/HIVE-19873
>             Project: Hive
>          Issue Type: Bug
>          Components: HiveServer2
>    Affects Versions: 3.1.0, 4.0.0
>            Reporter: Prasanth Jayachandran
>            Assignee: Prasanth Jayachandran
>            Priority: Major
>         Attachments: HIVE-19873.1.patch
>
>
> When a query is executed using beeline and the query is cancelled due to 
> query timeout or kill query or triggers and when there is cursor on operation 
> log row set, the cursor can thrown an exception as cancel will cleanup the 
> operation log in the background. This can return a non-zero exit code in 
> beeline. Query cancellation on success should return exit code 0.
> Adding a delay to the cleanup of operation logging in operation cancel can 
> avoid the close during read. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to