Does Derby support SQL hints, so I can tell it to NOLOCK on the SELECT?
________________________________ From: T K <[email protected]> To: Derby Discussion <[email protected]> Sent: Friday, September 4, 2009 8:57:18 PM Subject: Re: Can someone explain this deadlock? I suspect this is a case of this http://mail-archives.apache.org/mod_mbox/db-derby-user/200811.mbox/%[email protected]%3e Can someone confirm? Any remedies? Will dirty reads help in this case? Thanks ________________________________ From: Dag H. Wanvik <[email protected]> To: Derby Discussion <[email protected]> Sent: Friday, September 4, 2009 6:42:11 PM Subject: Re: Can someone explain this deadlock? T K <[email protected]> writes: > Derby 10.3 > > Caused by: java.sql.SQLTransactionRollbackException: A lock could not be > obtained due to a deadlock, cycle of locks and waiters is: > Lock : ROW, SOMETABLE, (217,6) > Waiting XID : {216333, S} , SOMESCHEMA, select something from SOMETABLE > where somethingElse = ? > Granted XID : {216146, X} > Lock : ROW, SOMETABLE, (4,1) > Waiting XID : {216146, S} , SOMESCHEMA, update SOMETABLE set something = ? > where somethingElse = ? > Granted XID : {216190, S} , {216333, S} > . The selected victim is XID : 216333. Hmm, it looks as if transaction 216146 is asking for a shared lock on (4,1), and there are only shared locks on that row apparently, so I can't see why that should not be granted, weird. Could this be an error, I wonder?
