phoney deadlocks after restore from backup
Posted: Tue Jul 15, 2008 1:42 pm
Using Rel Version 0.3.8, I successfully (?) restored my database from the backup taken using Rel Version 0.3.5 Alpha, using the supplied script, DatabaseToScript.d. However, when I subsequently tried the simplest possible query against one of my relvars, I got a deadlock exception (see below). The problem went away when I closed DBrowser and started it up again. The same problem arose yesterday with Rel Version 0.3.7.
Hugh
<from DBrowser output pane>
Hugh
<from DBrowser output pane>
BirdTrack
ERROR: RelDatabase: openRelvar failed: com.sleepycat.je.DeadlockException: (JE 3.3.62) Lock expired. Locker 7291868 152_SwingWorker-pool-2-thread-3_Txn: waited for lock on database=_Relvars LockAddr:29694734 node=134 type=READ grant=WAIT_NEW timeoutMillis=500 startTime=1216128431465 endTime=1216128431980
Owners: [<LockInfo locker="23322144 149_SwingWorker-pool-2-thread-2_Txn" type="RANGE_WRITE"/>] Waiters: [] Line 1, column 1 near 'BirdTrack' ca.mb.armchair.rel3.exceptions.ExceptionFatal: RelDatabase: openRelvar failed: com.sleepycat.je.DeadlockException: (JE 3.3.62) Lock expired. Locker 7291868 152_SwingWorker-pool-2-thread-3_Txn: waited for lock on database=_Relvars LockAddr:29694734 node=134 type=READ grant=WAIT_NEW timeoutMillis=500 startTime=1216128431465 endTime=1216128431980 Owners: [<LockInfo locker="23322144 149_SwingWorker-pool-2-thread-2_Txn" type="RANGE_WRITE"/>] Waiters: [] Line 1, column 1 near 'BirdTrack' at ca.mb.armchair.rel3.interpreter.Interpreter.evaluate(Interpreter.java:101) at ca.mb.armchair.rel3.interpreter.Interpreter.evaluate(Interpreter.java:197) at ca.mb.armchair.rel3.interpreter.Interpreter.evaluate(Interpreter.java:201) at ca.mb.armchair.rel3.client.stream.ClientLocalConnection.sendEvaluate(ClientLocalConnection.java:36) at ca.mb.armchair.rel3.client.string.ClientLocal.sendEvaluate(ClientLocal.java:52) at ca.mb.armchair.rel3.dbrowser.ui.PanelCommandline$32.doInBackground(PanelCommandline.java:1050) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)