Recently we saw the "data leaf table" related error in our environment and
not sure what could have cause it. We are using the following options-
*
DB_CLOSE_ON_EXIT=FALSE;LOCK_TIMEOUT=10000;CACHE_SIZE=131072;CACHE_TYPE=SOFT_LRU;MVCC=TRUE
*
We are using it under JBoss and due to this error the JBoss data source was
unable to connect to this DB. Here is the complete stack trace taken from
the trace file-
09-04 11:41:46 jdbc[381]: exception
org.h2.jdbc.JdbcSQLException: General error: "java.lang.RuntimeException:
page[5528] data leaf table:25 ACTION_AUDIT entries:23 parent:901
keys:[204462, 204463, 204464, 204465, 204466, 204467, 204468, 204469,
204470, 204471, 204472, 204473, 204474, 204475, 204476, 204477, 204478,
204479, 204480, 204481, 204482, 204483, 204484] offsets:[1987, 1926, 1865,
1804, 1743, 1682, 1621, 1560, 1499, 1438, 1377, 1316, 1256, 1195, 1134,
1073, 1012, 951, 890, 829, 768, 707, 646] parent 901 expected 4718"; SQL
statement:
SELECT OBJFKEYXML, RULESTATE FROM actions.PREVIOUS_RULE_STATE WHERE
POLICYFKEYXML like ? [50000-168]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:329)
at org.h2.message.DbException.get(DbException.java:158)
at org.h2.message.DbException.convert(DbException.java:281)
at org.h2.command.Command.executeQuery(Command.java:195)
at
org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:109)
at
org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.executeQuery(WrappedPreparedStatement.java:462)
at com.ca.chorus.db.DbExecutor.withResultSet(DbExecutor.java:380)
at com.ca.chorus.db.DbExecutor.gatherResults(DbExecutor.java:893)
at com.ca.chorus.db.DbExecutor.gatherResults(DbExecutor.java:886)
at
com.ca.chorus.actions.startup.RuleStateMonitor.retrieveRuleStatesForPolicy(RuleStateMonitor.java:541)
at
com.ca.chorus.actions.startup.RuleStateMonitor.access$200(RuleStateMonitor.java:46)
at
com.ca.chorus.actions.startup.RuleStateMonitor$2.<init>(RuleStateMonitor.java:167)
at
com.ca.chorus.actions.startup.RuleStateMonitor.checkRuleStateAndInvokeAction(RuleStateMonitor.java:157)
at
com.ca.chorus.actions.startup.RuleStateMonitor.access$100(RuleStateMonitor.java:46)
at
com.ca.chorus.actions.startup.RuleStateMonitor$1.onTuple(RuleStateMonitor.java:128)
at
com.ca.chorus.db.ExecuteAsyncStatementCallback.onRow(ExecuteAsyncStatementCallback.java:79)
at
com.ca.chorus.db.PerformanceInstrumentedStatementCallbackDecorator.onRow(PerformanceInstrumentedStatementCallbackDecorator.java:78)
at com.ca.chorus.db.DbExecutor$12.onRow(DbExecutor.java:1396)
at
org.teiid.jdbc.NonBlockingRowProcessor.processRow(NonBlockingRowProcessor.java:117)
at
org.teiid.jdbc.NonBlockingRowProcessor$1.run(NonBlockingRowProcessor.java:83)
at
org.teiid.jdbc.NonBlockingRowProcessor$1$1.onCompletion(NonBlockingRowProcessor.java:76)
at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:130)
at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:37)
at
org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
at org.teiid.jdbc.ResultSetImpl$1.onCompletion(ResultSetImpl.java:231)
at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:130)
at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:37)
at
org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
at
org.teiid.dqp.internal.process.RequestWorkItem.sendResultsIfNeeded(RequestWorkItem.java:757)
at
org.teiid.dqp.internal.process.RequestWorkItem$1.flushBatchDirect(RequestWorkItem.java:557)
at
org.teiid.query.processor.BatchCollector.flushBatch(BatchCollector.java:191)
at
org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:166)
at
org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
at
org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
at
org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
at
org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219)
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1121)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:614)
at java.lang.Thread.run(Thread.java:779)
Caused by: java.lang.RuntimeException: page[5528] data leaf table:25
ACTION_AUDIT entries:23 parent:901 keys:[204462, 204463, 204464, 204465,
204466, 204467, 204468, 204469, 204470, 204471, 204472, 204473, 204474,
204475, 204476, 204477, 204478, 204479, 204480, 204481, 204482, 204483,
204484] offsets:[1987, 1926, 1865, 1804, 1743, 1682, 1621, 1560, 1499,
1438, 1377, 1316, 1256, 1195, 1134, 1073, 1012, 951, 890, 829, 768, 707,
646] parent 901 expected 4718
at org.h2.message.DbException.throwInternalError(DbException.java:228)
at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:239)
at org.h2.index.PageDataNode.getNextPage(PageDataNode.java:226)
at org.h2.index.PageDataLeaf.getNextPage(PageDataLeaf.java:392)
at org.h2.index.PageDataCursor.nextRow(PageDataCursor.java:90)
at org.h2.index.PageDataCursor.next(PageDataCursor.java:64)
at org.h2.index.IndexCursor.next(IndexCursor.java:238)
at org.h2.table.TableFilter.next(TableFilter.java:353)
at org.h2.command.dml.Select.queryFlat(Select.java:513)
at org.h2.command.dml.Select.queryWithoutCache(Select.java:618)
at org.h2.command.dml.Query.query(Query.java:307)
at org.h2.command.dml.Query.query(Query.java:277)
at org.h2.command.dml.Query.query(Query.java:36)
at org.h2.command.CommandContainer.query(CommandContainer.java:86)
at org.h2.command.Command.executeQuery(Command.java:191)
... 38 more
Any clue on what could have cause it and how we can avoid encountering it
would help.
Thanks.
Sanjeev
--
You received this message because you are subscribed to the Google Groups "H2
Database" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/h2-database.
For more options, visit https://groups.google.com/groups/opt_out.