Lock Manager
DbLockManager
, introduced in Hive 0.13, stores all transaction and related lock information in the Hive Metastore. Heartbeats are sent
regularly from lock holders and transaction initiators to the Hive metastore to prevent stale locks and transactions. The lock or transaction is aborted if the
metastore does not receive a heartbeat within the amount of time specified by the hive.txn.timeout
configuration property. Hive
administrators use the SHOW LOCKS
DDL command to view information about locks associated with transactions.
This command provides the following output for each lock:
Database name
Table name
Partition, if the table is partitioned
Lock state:
Acquired - transaction initiator hold the lock
Waiting - transaction initiator is waiting for the lock
Aborted - the lock has timed out but has not yet been cleaned
Lock type:
Exclusive - the lock may not be shared
Shared_read - the lock may be shared with any number of other shared_read locks
Shared_write - the lock may be shared by any number of other shared_read locks but not with other shared_write locks
Transaction ID associated with the lock, if one exists
Last time lock holder sent a heartbeat
Time the lock was acquired, if it has been acquired
Hive user who requested the lock
Host machine on which the Hive user is running a Hive client
Note | |
---|---|
The output of the command reverts to behavior prior to Hive 0.13 if administrators use ZooKeeper or in-memory lock managers. |