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

Eugene Koifman commented on HIVE-15376:
---------------------------------------

patch 6
Why do you need to expose the "delay" to the client?
Why is the delay always 0.  Why is it not checking hive.txn.timeout as before?

should releaseLocks() do isOpenTxn() before quitting heartbeat?  Seems like it 
would be more consistent

> Improve heartbeater scheduling for transactions
> -----------------------------------------------
>
>                 Key: HIVE-15376
>                 URL: https://issues.apache.org/jira/browse/HIVE-15376
>             Project: Hive
>          Issue Type: Bug
>          Components: Transactions
>    Affects Versions: 2.2.0
>            Reporter: Wei Zheng
>            Assignee: Wei Zheng
>         Attachments: HIVE-15376.1.patch, HIVE-15376.2.patch, 
> HIVE-15376.3.patch, HIVE-15376.4.patch, HIVE-15376.5.patch, HIVE-15376.6.patch
>
>
> HIVE-12366 improved the heartbeater logic by bringing down the gap between 
> the lock acquisition and first heartbeat, but that's not enough, there may 
> still be some issue, e.g.
>  Time A: a transaction is opened
>  Time B: acquireLocks is called (blocking call), but it can take a long time 
> to actually acquire the locks and return if the system is busy
>  Time C: as acquireLocks returns, the first heartbeat is sent
> If hive.txn.timeout < C - A, then the transaction will be timed out and 
> aborted, thus causing failure.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to