[ https://issues.apache.org/jira/browse/HIVE-15376?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15764939#comment-15764939 ]
Eugene Koifman commented on HIVE-15376: --------------------------------------- but if you use the old acquireLocks() (as it was written) in testLockTimeout() it won't start any heartbeat... that is how the test was implemented before > 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.10.patch, > HIVE-15376.11.patch, HIVE-15376.2.patch, HIVE-15376.3.patch, > HIVE-15376.4.patch, HIVE-15376.5.patch, HIVE-15376.6.patch, > HIVE-15376.7.patch, HIVE-15376.8.patch, HIVE-15376.9.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)