|
Debugging Deadlocks
If deadlocks occur frequently in your multi-user system with a
particular application, you might need to do some debugging.
Derby 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 Derby 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 Derby Server and Administration Guide.
Additional general information about diagnosing locking problems can be
found in the Derby
Wiki at
http://wiki.apache.org/db-derby/LockDebugging.
|