Debugging Deadlocks If deadlocks occur frequently in your multi-user system with a particular application, you might need to do some debugging.

provides a class to help you in this situation, org.apache.derby.diag.LockTable. Access to the LockTable information is provided via the SYSCS_DIAG.LOCK_TABLE diagnostic table.

The SYSCS_DIAG.LOCK_TABLE diagnostic table shows all of the locks that are currently held in the database. You can reference the SYSCS_DIAG.LOCK_TABLE diagnostic table directly in a statement.

For example:SELECT * FROM SYSCS_DIAG.LOCK_TABLE

When the SYSCS_DIAG.LOCK_TABLE diagnostic table is referenced in a statement, a snapshot of the lock table is taken.

For more information about how to use this table:

You can also set the property derby.locks.deadlockTrace to dump additional information to the derby.log file about any deadlocks that occur on your system. See the Tuning Guide for more information on this property. For information, see the .

Additional general information about diagnosing locking problems can be found in the Wiki at http://wiki.apache.org/db-derby/LockDebugging.