>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 <markaddle...@gmail.com> 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 google-guice@googlegroups.com.
To unsubscribe from this group, send email to 
google-guice+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-guice?hl=en.

Reply via email to