hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Wei Zheng (JIRA)" <>
Subject [jira] [Commented] (HIVE-15376) Improve heartbeater scheduling for transactions
Date Tue, 20 Dec 2016 19:08:58 GMT


Wei Zheng commented on HIVE-15376:

OK, I see your point. But I feel the way in the patch is cleaner, as we have an explicit param
in acquireLocks to instrument whether to start heartbeat or not. Otherwise we would end up
having three acquireLocks methods, one calling the other. The layers are kind of redundant.

> Improve heartbeater scheduling for transactions
> -----------------------------------------------
>                 Key: HIVE-15376
>                 URL:
>             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

View raw message