Any thoughts on why dropping a column gave a deadlock? Also, where can I go to
understand the syntax of the "Lock" print. For example, what does "IX" mean?
What does "S" mean? What does (5,15) mean?
java.sql.SQLTransactionRollbackException: A lock could not be obtained due to a
deadlock, cycle of
locks and waiters is:
Lock : TABLE, XXX, Tablelock
Waiting XID : {178, IX} , TEST, ALTER TABLE XXX DROP COLUMN "v"
Granted XID : {176, X}
Lock : ROW, SYSCONGLOMERATES, (5,15)
Waiting XID : {176, X} , TEST, ALTER TABLE XXX DROP COLUMN "v"
Granted XID : {176, S} , {178, S}
. The selected victim is XID : 178.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at
org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown
Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeBatchElement(Unknown
Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeBatch(Unknown Source)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)
at
org.apache.commons.dbcp.DelegatingStatement.executeBatch(DelegatingStatement.java:297)