>From H2 documentation: MVCC is disabled by default. The MVCC feature is not fully tested yet. If MVCC is enabled, changing the lock mode (LOCK_MODE) has no effect.
Sounds like you are using an experimental option. I'd switch to Postgres. It has "production" grade MVCC. Cheers Alen On Apr 26, 5:25 pm, Mark Addleman <[email protected]> wrote: > I have a number of stack traces in the trace.db file like the one below. > I'm not sure how to pursue an investigation. I'm using the following > options in my jdbc url: > CACHE_TYPE=LRU;PAGE_SIZE=16384;MVCC=TRUE;LOCK_MODE=0;UNDO_LOG=0;LOG=1;DB_CL > OSE_DELAY=-1 > > I suspect that it's either MVCC or LOCK_MODE that is causing the trouble. > Any ideas? > > 04-26 03:31:00 jdbc[224]: exception > org.h2.jdbc.JdbcSQLException: Row not found when trying to delete from > index "TIMESERIES.IDX_METRIC_DATA_METRIC_ID_START_TIME_END_TIME: ( /* > key:870 */ 141, TIMESTAMP '2012-04-24 22:00:00.0', TIMESTAMP '2012-04-25 > 02:15:00.0', > X'aced000573720020636f6d2e63612e63686f7275732e74696d657365726965732e5453417 > 2726179018c63d06105fca80200054a0007656e6454696d654900066c656e6774684a000973 > 7461727454696d654c000c636c6f636b4d656d656e746f74002a4c636f6d2f63612f63686f7 > 275732f74696d657365726965732f6e756d657269632f4d656d656e746f3b4c000b64617461 > 4d656d656e746f71007e0001787000000136e747bca00000003400000136e65e47007372003 > a636f6d2e63612e63686f7275732e74696d657365726965732e6e756d657269632e4e756d62 > 657244656c74614f7574707574244d656d656e746f7390f51c1bf5d3fc0200014c00076d656 > d656e746f71007e0001787073720038636f6d2e63612e63686f7275732e74696d6573657269 > 65732e6e756d657269632e4e756d626572524c454f7574707574244d656d656e746ff49d098 > 7111300c102000549000a63757272656e74496e744a000b63757272656e744c6f6e67490006 > 6c656e67746849000473697a654c00076d656d656e746f71007e00017870000000000000000 > 0000493e0000000330000003e7372003c636f6d2e63612e63686f7275732e74696d65736572 > 6965732e6e756d657269632e4e756d6265725061636b696e674f7574707574244d656d656e7 > 46f40a3b5b30dd1f4770c00007870770400000003737200106a6176612e7574696c2e426974 > 5365746efd887e3934ab210200015b0004626974737400025b4a7870757200025b4a782004b > 512b1759302000078700000000413c39b732f23805300000000000124f80000000000000000 > 0000000000000000787371007e00077704000000007371007e00097571007e000c000000207 > a33ce18f46799b11e8cf4263d19e70cc7a33d0d8f467a1b31e8cf4463d19e86ac7a33d118f4 > 67a2d31e92b6b63d19e8f4c7a66dc58f4cb2fe31ea21fc63d44346ac7a887f18f51012031ea > 223663d444494c7a889298f511128b1ea224f63d4551ecc7a889458f55547b31eaa8f663dd5 > 51f8c7aaa3f18ff5547eb1eaa8fd633d55206c7aaa3f988f55483b1eaa904663d55214c7aaa > 42958f55486b1eaa90dd63d5521ac7aaa43358f55486b1eaa900d63d5521ac7aaa44358f554 > 86b1eaa990d63d5521ac7aaa0000000000000eaa00000000000000000000000000000000000 > 000000000000000000000000000000000000000000000000000000000000078')"; > SQL statement: > DELETE FROM timeseries.metric_data WHERE end_time < ? LIMIT 100 [90112-162] > at org.h2.message.DbException.getJdbcSQLException(DbException.java:329) > at org.h2.message.DbException.get(DbException.java:169) > at org.h2.message.DbException.get(DbException.java:146) > at org.h2.index.PageBtreeLeaf.remove(PageBtreeLeaf.java:224) > at org.h2.index.PageBtreeNode.remove(PageBtreeNode.java:324) > at org.h2.index.PageBtreeIndex.remove(PageBtreeIndex.java:241) > at org.h2.index.MultiVersionIndex.remove(MultiVersionIndex.java:170) > at org.h2.table.RegularTable.removeRow(RegularTable.java:361) > at org.h2.command.dml.Delete.update(Delete.java:93) > at org.h2.command.CommandContainer.update(CommandContainer.java:73) > at org.h2.command.Command.executeUpdate(Command.java:226) > at > org.h2.jdbc.JdbcPreparedStatement.executeUpdateInternal(JdbcPreparedStateme > nt.java:143) > at > org.h2.jdbc.JdbcPreparedStatement.executeUpdate(JdbcPreparedStatement.java: > 129) > at > org.jboss.resource.adapter.jdbc.CachedPreparedStatement.executeUpdate(Cache > dPreparedStatement.java:96) > at > org.jboss.resource.adapter.jdbc.WrappedPreparedStatement.executeUpdate(Wrap > pedPreparedStatement.java:365) > at > com.ca.chorus.db.LeakDetectingPreparedStatement.executeUpdate(LeakDetecting > PreparedStatement.java:59) > at com.ca.chorus.db.DbExecutor$11.call(DbExecutor.java:622) > at com.ca.chorus.db.DbExecutor$11.call(DbExecutor.java:611) > at com.ca.chorus.aop.guice.IPerfTracer$1.trace(IPerfTracer.java:25) > at com.ca.chorus.db.DbExecutor.executeUpdate(DbExecutor.java:610) > at com.ca.chorus.db.DbExecutor.executeUpdate(DbExecutor.java:572) > at > com.ca.chorus.timeseries.metricpoller.MetricCleanupRunner$1.call(MetricClea > nupRunner.java:65) > at > com.ca.chorus.timeseries.metricpoller.MetricCleanupRunner$1.call(MetricClea > nupRunner.java:58) > at > com.ca.chorus.server.transaction.TransactionRunner.invoke(TransactionRunner > .java:23) > at > com.ca.chorus.server.transaction.TransactionRunner$$EnhancerByGuice$$972c49 > 97.CGLIB$invoke$0(<generated>) > at > com.ca.chorus.server.transaction.TransactionRunner$$EnhancerByGuice$$972c49 > 97$$FastClassByGuice$$d886fd1c.invoke(<generated>) > at > com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy > .java:228) > at > com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvoca > tion.proceed(InterceptorStackCallback.java:72) > at com.ca.chorus.aop.guice.IPerfTracer$1.trace(IPerfTracer.java:19) > at > com.ca.chorus.server.transaction.TransactionalMethodInterceptor.invoke(Tran > sactionalMethodInterceptor.java:31) > at > com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvoca > tion.proceed(InterceptorStackCallback.java:72) > at > com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorSt > ackCallback.java:52) > at > com.ca.chorus.server.transaction.TransactionRunner$$EnhancerByGuice$$972c49 > 97.invoke(<generated>) > at > com.ca.chorus.timeseries.metricpoller.MetricCleanupRunner.run(MetricCleanup > Runner.java:57) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:482) > at > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:362) > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:189) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access > $301(ScheduledThreadPoolExecutor.java:189) > at > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(Sc > heduledThreadPoolExecutor.java:304) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1 > 121) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java: > 614) > at java.lang.Thread.run(Thread.java:769) -- You received this message because you are subscribed to the Google Groups "google-guice" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-guice?hl=en.
