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.

Reply via email to