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)

Reply via email to