[ https://issues.apache.org/jira/browse/HIVE-12620?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Eugene Koifman updated HIVE-12620: ---------------------------------- Description: # DbLockManger.unlock() - if this fails (due to no such lock in turn due to timeout) the lock is not removed from DbLockManger internal tracking # Add logic to DBLockManager to detect if there is attempt to interleave transactions or locks from different statements for read-only auto commit mode # TxnHandler.checkLock() can use 1 connection instead of 2 # TxnHandler.timeOutLocks() - refactor so that it can log which locks were expired (simplifies debugging) # TxnHandler#getTxnIdFromLockId() - include lock id if it's not found # TxnHandler#checkRetryable() - log exception it saw # TxnHandler.lock() - throw new MetaException("Couldn't find a lock we just created!"); - include lockid was: # DbLockManger.unlock() - if this fails (due to no such lock in turn due to timeout) the lock is not removed from DbLockManger internal tracking # Add logic to DBLockManager to detect if there is attempt to interleave transactions or locks from different statements for read-only auto commit mode # TxnHandler.checkLock() can use 1 connection instead of 2 # TxnHandler.timeOutLocks() - refactor so that it can log which locks were expired (simplifies debugging) # TxnHandler#getTxnIdFromLockId() - include lock id if it's not found # TxnHandler#checkRetryable() - log exception it saw > Misc improvement to Acid module > ------------------------------- > > Key: HIVE-12620 > URL: https://issues.apache.org/jira/browse/HIVE-12620 > Project: Hive > Issue Type: Bug > Components: Transactions > Affects Versions: 1.3.0 > Reporter: Eugene Koifman > Assignee: Eugene Koifman > > # DbLockManger.unlock() - if this fails (due to no such lock in turn due to > timeout) the lock is not removed from DbLockManger internal tracking > # Add logic to DBLockManager to detect if there is attempt to interleave > transactions or locks from different statements for read-only auto commit mode > # TxnHandler.checkLock() can use 1 connection instead of 2 > # TxnHandler.timeOutLocks() - refactor so that it can log which locks were > expired (simplifies debugging) > # TxnHandler#getTxnIdFromLockId() - include lock id if it's not found > # TxnHandler#checkRetryable() - log exception it saw > # TxnHandler.lock() - throw new MetaException("Couldn't find a lock we just > created!"); - include lockid -- This message was sent by Atlassian JIRA (v6.3.4#6332)