mahesh kumar behera created HIVE-22365:
------------------------------------------
Summary: "MetaException: Couldn't acquire the DB log notification
lock because we reached the maximum # of retries" during metadata scale tests
Key: HIVE-22365
URL: https://issues.apache.org/jira/browse/HIVE-22365
Project: Hive
Issue Type: Bug
Reporter: mahesh kumar behera
Assignee: mahesh kumar behera
The issue is because of the leaked open transaction in
Objectstore::getPartition function. Here if jdo throws some exception during
convertToPart then commit is not done.
openTransaction();
MTable table = this.getMTable(catName, dbName, tableName);
MPartition mpart = getMPartition(catName, dbName, tableName, part_vals);
Partition part = convertToPart(mpart);
commitTransaction();
Because of this, all subsequent transactions of this thread are not committed.
{code:java}
if ((openTrasactionCalls == 0) && currentTransaction.isActive()) {
transactionStatus = TXN_STATUS.COMMITED;
currentTransaction.commit();
} {code}
This is causing the select for update lock on NOTIFICATION_SEQUENCE to never be
released and all other threads are failing to get this lock and timing out.
So the fix to do the operation is a try-catch block and rollback the txn in
case of failure.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)