Case4. DB Lock Issues Due to Not Commit

Overview

After a DML execution in the DB, if a Commit or a Rollback execution is not done properly, it may lead to a delay in transaction processing time in the DB or a problem in the data consistency.

 

Analysis Flow

 

Through the alarm generated in the Real Time Monitoring screen, you can identify the cause of delayed transactions.

Image1. Analysis of Cause of Service Delays Due to Not Commit case4

Analysis Details

 

Step 1.1 Check the Real Time Monitor Activity and Lock 1111

(!) Check Results: Lock has been generated in the DB Stat due to increase in the number of transactions being delayed for over 5 seconds in the Real Time screen.  Based on the Lock Tree, the transactions are being backed up due to a transaction executing a DML has occupied the TX Lock.

 

Step 1.2 Check the Alerts History 2222

(!) Check Results: You can check the XM_JDBC_NOT_COMMIT_ROLLBACK’s alert details.

 

Step 1.3 Check Detailed Information 3333

(!) Check Results: Double-click the real time alerts history and check the detailed information of the transaction which triggered the Lock, and determine whether there is problem in the logic or not.

 

Step 1.4 Source Analysis 4444

(!) Check Results: As a result of source analysis, you can know that in the data delete logic, after executing setAutoCommit(false) for processing a transaction, a commit or a rollback execution has been omitted prior to ending a connection.

 

Conclusion

As a result of identifying the transaction which had not been committed using the Alert function and doing a source analysis; we have identified the application which has occupied the Lock because it was under the condition where the AutoCommit function was made false and the commit was not called.  This problem has been resolved by adding commit to the corresponding application source.