Mysterious (dead?)locking
Nigel Magnay <[email protected]>
| Newsgroups | gmane.comp.java.hsqldb.user |
|---|---|
| Message-ID | <CAPYP83RU1AtEMGShuEb=gkTRmTMfoTKjreRYfqWr+Uj8jq2zAQ@mail.gmail.com> |
Hi. When we use HSQLDB for some system tests of a deployed webapp, about 60% of the time the system freezes without completing. We're on 2.3.0, and have moved to using MVCC. On examination of the locked sessions, it would seem that everything is waiting on a 'Checkpoint' operation (see below) by looking at INFORMATION_SCHEMA.SYSTEM_SESSIONS - Everything is waiting on this, but this is allegedly not waiting on anything itself. The thread dump shows the checkpoint is coming from a regular timed task. Is there anything I can do to further diagnose this, as I can't understand why it's reporting connection 10 isn't waiting on anything - but the system is locked solid. INFORMATION_SCHEMA.SYSTEM_SESSIONS: ----------------------------------------------------- [3, 2013-12-24 10:39:06.0, SA, true, true, false, 0, PUBLIC, false, 0, , 10, SELECT VERSION FROM KMS_VERSION WHERE ID='KMS', 1] [6, 2013-12-24 10:39:17.0, SA, true, false, false, 0, PUBLIC, false, 0, , 10, SELECT * FROM QRTZ_SCHEDULER_STATE WHERE SCHED_NAME = 'schedulerFactoryBean', 1] [7, 2013-12-24 10:39:34.0, SA, true, false, false, 0, PUBLIC, false, 0, , 10, SELECT TRIGGER_NAME, TRIGGER_GROUP, NEXT_FIRE_TIME, PRIORITY FROM QRTZ_TRIGGERS WHERE SCHED_NAME = 'schedulerFactoryBean' AND TRIGGER_STATE = ? AND NEXT_FIRE_TIME <= ? AND (MISFIRE_INSTR = -1 OR (MISFIRE_INSTR != -1 AND NEXT_FIRE_TIME >= ?)) ORDER BY NEXT_FIRE_TIME ASC, PRIORITY DESC, 1] *[10, 2013-12-24 10:41:53.0, _SYSTEM, true, false, false, 0, PUBLIC, false, 0, 3,7,6,11, , CHECKPOINT, 1]* [11, 2013-12-24 10:42:13.0, SA, true, false, false, 0, PUBLIC, false, 0, , 10, SELECT COUNT(TRIGGER_NAME) FROM QRTZ_TRIGGERS WHERE SCHED_NAME = 'schedulerFactoryBean' AND NOT (MISFIRE_INSTR = -1) AND NEXT_FIRE_TIME < ? AND TRIGGER_STATE = ?, 1] [13, 2013-12-24 11:26:17.0, SA, true, false, false, 0, PUBLIC, false, 0, , , select * FROM INFORMATION_SCHEMA.SYSTEM_SESSIONS, 0] Thread dump ---------------- Thread t@31: (state = BLOCKED) - sun.misc.Unsafe.park(boolean, long) @bci=0 (Compiled frame; information may be imprecise) - java.util.concurrent.locks.LockSupport.park(java.lang.Object) @bci=14, line=158 (Interpreted frame) - java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt() @bci=1, line=811 (Interpreted frame) - java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(int) @bci=55, line=969 (Interpreted frame) - java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(int) @bci=24, line=1281 (Interpreted frame) - java.util.concurrent.CountDownLatch.await() @bci=5, line=207 (Interpreted frame) - org.hsqldb.lib.CountUpDownLatch.await() @bci=12 (Compiled frame) - org.hsqldb.Session.executeCompiledStatement(org.hsqldb.Statement, java.lang.Object[], int) @bci=289 (Compiled frame) - org.hsqldb.Database$CheckpointRunner.run() @bci=25 (Interpreted frame) - org.hsqldb.lib.HsqlTimer$TaskRunner.run() @bci=19 (Interpreted frame) - java.lang.Thread.run() @bci=11, line=662 (Interpreted frame) ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ Hsqldb-user mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/hsqldb-user