Hi

I'm getting a lock time out exception while doing the following queries through ij.


connect 'jdbc:derby:mailsdb' user 'DBADMIN' password 'admin' as con1;
autocommit off;
grant select on DBADMIN.t1 to DBUSER;
grant update on DBADMIN.t1 to DBUSER;
connect 'jdbc:derby:mailsdb' user 'DBUSER' password 'user' as con2;
autocommit off;
select * from DBADMIN.t1;
set connection con1;
revoke update on t1 from DBUSER;
ERROR 40XL1: A lock could not be obtained within the time requested

FYI: table 1 is is having 2 columns one integer column and one char(100) column. And has 2000 rows.

Stack trace from derby.log
-------------------------------
2006-08-31 18:56:22.250 GMT Thread[main,5,main] (XID = 251), (SESSIONID = 0), (D
ATABASE = mailsdb), (DRDAID = null), Cleanup action starting
2006-08-31 18:56:22.250 GMT Thread[main,5,main] (XID = 251), (SESSIONID = 0), (D ATABASE = mailsdb), (DRDAID = null), Failed Statement is: revoke update on t1 fr
om DBUSER
ERROR 40XL1: A lock could not be obtained within the time requested
at org.apache.derby.iapi.error.StandardException.newException(Unknown So
urce)
at org.apache.derby.impl.services.locks.LockSet.lockObject(Unknown Sourc
e)
at org.apache.derby.impl.services.locks.SinglePool.lockAnObject(Unknown
Source)
at org.apache.derby.impl.services.locks.SinglePool.lockObject(Unknown So
urce)
at org.apache.derby.impl.store.raw.xact.RowLocking3.lockRecordForWrite(U
nknown Source)
at org.apache.derby.impl.store.access.heap.HeapController.lockRow(Unknow
n Source)
at org.apache.derby.impl.store.access.heap.HeapController.lockRow(Unknow
n Source)
at org.apache.derby.impl.store.access.btree.index.B2IRowLocking3.lockRow
OnPage(Unknown Source)
at org.apache.derby.impl.store.access.btree.index.B2IRowLocking3._lockSc
anRow(Unknown Source)
at org.apache.derby.impl.store.access.btree.index.B2IRowLockingRR.lockSc
anRow(Unknown Source)
at org.apache.derby.impl.store.access.btree.BTreeForwardScan.fetchRows(U
nknown Source)
at org.apache.derby.impl.store.access.btree.BTreeScan.fetchNext(Unknown
Source)
at org.apache.derby.impl.sql.catalog.TabInfoImpl.updateRow(Unknown Sourc
e)
at org.apache.derby.impl.sql.catalog.TabInfoImpl.updateRow(Unknown Sourc
e)
at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.addRemovePermiss
ionsDescriptor(Unknown Source)
at org.apache.derby.impl.sql.execute.TablePrivilegeInfo.executeGrantRevo
ke(Unknown Source)
at org.apache.derby.impl.sql.execute.GrantRevokeConstantAction.executeCo
nstantAction(Unknown Source)
at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source) at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown So
urce)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown So
urce)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source) at org.apache.derby.impl.tools.ij.ij.executeImmediate(Unknown Source)
        at org.apache.derby.impl.tools.ij.utilMain.doCatch(Unknown Source)
at org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(Unknown Source)
        at org.apache.derby.impl.tools.ij.utilMain.go(Unknown Source)
        at org.apache.derby.impl.tools.ij.Main.go(Unknown Source)
        at org.apache.derby.impl.tools.ij.Main.mainCore(Unknown Source)
        at org.apache.derby.impl.tools.ij.Main14.main(Unknown Source)
        at org.apache.derby.tools.ij.main(Unknown Source)
Cleanup action completed

Reply via email to