Hello group,

I'm running the latest version 1.2.141 in MULTI_THREADED=1 mode. I'm
executing some queries in parallel and everything seems to work. After
that I rerun the former queries and then I got some of these
exceptions:

org.h2.jdbc.JdbcSQLException: Hexadecimal string with odd number of
characters: "http://www.informatik.uni-ulm.de/ki/aboxbench/semintec/
semintec.owl#MaleSex"; SQL statement:
INSERT INTO propertyDomain_d0 (property, domain, sourceId1,
sourceTable1, sourceId2, sourceTable2)
         SELECT dom.property, sc.super, MIN(dom.id) AS sourceId1,
'propertyDomain' AS sourceTable, MIN(sc.id) AS sourceId2, 'subClass'
AS sourceTable
         FROM propertyDomain AS dom
                 INNER JOIN subClass AS sc ON sc.sub = dom.domain
         WHERE NOT EXISTS (
                 SELECT property, domain
                 FROM propertyDomain_d0 AS bottom
                 WHERE bottom.property = dom.property AND bottom.domain = 
sc.super
         )
         GROUP BY dom.property, sc.super [90003-141]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.util.StringUtils.convertStringToBytes(StringUtils.java:953)
        at org.h2.value.Value.convertTo(Value.java:760)
        at org.h2.value.ValueLob.convertTo(ValueLob.java:428)
        at org.h2.table.Table.compareTypeSave(Table.java:970)
        at org.h2.index.BaseIndex.compareValues(BaseIndex.java:297)
        at org.h2.index.BaseIndex.compareRows(BaseIndex.java:245)
        at org.h2.index.PageBtree.find(PageBtree.java:117)
        at org.h2.index.PageBtreeNode.find(PageBtreeNode.java:277)
        at org.h2.index.PageBtreeIndex.find(PageBtreeIndex.java:172)
        at org.h2.index.PageBtreeIndex.find(PageBtreeIndex.java:163)
        at org.h2.index.IndexCursor.find(IndexCursor.java:138)
        at org.h2.table.TableFilter.next(TableFilter.java:309)
        at org.h2.table.TableFilter.next(TableFilter.java:379)
        at org.h2.command.dml.Select.queryGroup(Select.java:307)
        at org.h2.command.dml.Select.queryWithoutCache(Select.java:574)
        at org.h2.command.dml.Query.query(Query.java:241)
        at org.h2.command.dml.Insert.insertRows(Insert.java:127)
        at org.h2.command.dml.Insert.update(Insert.java:82)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.server.TcpServerThread.process(TcpServerThread.java:301)
        at org.h2.server.TcpServerThread.run(TcpServerThread.java:138)
        at java.lang.Thread.run(Thread.java:619)

        at org.h2.engine.SessionRemote.done(SessionRemote.java:489)
        at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:184)
        at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:
124)
        at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:109)
        at
de.derivo.u2r3.rules.ApplicationRule.applyCollective(ApplicationRule.java:
34)
        at de.derivo.u2r3.rules.Rule.apply(Rule.java:71)
        at de.derivo.u2r3.util.RuleAction.apply(RuleAction.java:48)
        at de.derivo.u2r3.util.RuleAction.run(RuleAction.java:107)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)




After that I restart the database. Sometimes a new run works,
sometimes I then get the following exception:

org.h2.jdbc.JdbcSQLException: File corrupted while reading record:
"type: 1". Possible solution: use the recovery tool; SQL statement:
INSERT INTO classAssertionEnt_d0 (entity, colClass, sourceId1,
sourceTable1, sourceId2, sourceTable2)
         SELECT ass.subject, dom.Domain, MIN(ass.id) AS sourceId1,
'objectPropertyAssertion' AS sourceTable1, MIN(dom.id) AS sourceId2,
'propertyDomain' AS sourceTable2
         FROM objectPropertyAssertion AS ass
                 INNER JOIN propertyDomain AS dom
                 ON ass.Property = dom.Property
         WHERE NOT EXISTS (
                 SELECT entity, colClass
                 FROM classAssertionEnt_d0 AS bottom
                 WHERE bottom.entity = ass.subject AND bottom.colClass = 
dom.domain
         )
         GROUP BY ass.subject, dom.Domain [90030-141]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:
327)
        at org.h2.message.DbException.get(DbException.java:167)
        at org.h2.message.DbException.get(DbException.java:144)
        at org.h2.store.Data.readValue(Data.java:767)
        at org.h2.index.PageDataIndex.readRow(PageDataIndex.java:411)
        at org.h2.index.PageDataLeaf.getRowAt(PageDataLeaf.java:322)
        at org.h2.index.PageDataLeaf.getRow(PageDataLeaf.java:435)
        at org.h2.index.PageDataNode.getRow(PageDataNode.java:270)
        at org.h2.index.PageDataNode.getRow(PageDataNode.java:270)
        at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:394)
        at org.h2.index.PageDataIndex.getRow(PageDataIndex.java:383)
        at org.h2.table.RegularTable.getRow(RegularTable.java:104)
        at org.h2.index.PageBtreeIndex.getRow(PageBtreeIndex.java:288)
        at org.h2.index.PageBtreeCursor.get(PageBtreeCursor.java:45)
        at org.h2.index.IndexCursor.get(IndexCursor.java:209)
        at org.h2.table.TableFilter.getValue(TableFilter.java:824)
        at org.h2.expression.ExpressionColumn.getValue(ExpressionColumn.java:
167)
        at org.h2.index.IndexCondition.getCurrentValue(IndexCondition.java:
120)
        at org.h2.index.IndexCursor.find(IndexCursor.java:99)
        at org.h2.table.TableFilter.next(TableFilter.java:309)
        at org.h2.command.dml.Select.queryFlat(Select.java:492)
        at org.h2.command.dml.Select.queryWithoutCache(Select.java:579)
        at org.h2.command.dml.Query.query(Query.java:241)
        at org.h2.expression.ConditionExists.getValue(ConditionExists.java:
30)
        at org.h2.expression.ConditionNot.getValue(ConditionNot.java:31)
        at org.h2.expression.ConditionAndOr.getValue(ConditionAndOr.java:90)
        at org.h2.expression.Expression.getBooleanValue(Expression.java:185)
        at org.h2.command.dml.Select.queryGroup(Select.java:309)
        at org.h2.command.dml.Select.queryWithoutCache(Select.java:574)
        at org.h2.command.dml.Query.query(Query.java:241)
        at org.h2.command.dml.Insert.insertRows(Insert.java:127)
        at org.h2.command.dml.Insert.update(Insert.java:82)
        at org.h2.command.CommandContainer.update(CommandContainer.java:70)
        at org.h2.command.Command.executeUpdate(Command.java:199)
        at org.h2.server.TcpServerThread.process(TcpServerThread.java:301)
        at org.h2.server.TcpServerThread.run(TcpServerThread.java:138)
        at java.lang.Thread.run(Thread.java:619)

        at org.h2.engine.SessionRemote.done(SessionRemote.java:489)
        at org.h2.command.CommandRemote.executeUpdate(CommandRemote.java:184)
        at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:
124)
        at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:109)
        at
de.derivo.u2r3.rules.ApplicationRule.applyCollective(ApplicationRule.java:
34)
        at de.derivo.u2r3.rules.Rule.apply(Rule.java:71)
        at de.derivo.u2r3.util.RuleAction.apply(RuleAction.java:48)
        at de.derivo.u2r3.util.RuleAction.run(RuleAction.java:107)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:
441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor
$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)


How do I have to interpret the exceptions? How can I test to get more
specific errors?

Sincerely
Stefan

-- 
You received this message because you are subscribed to the Google Groups "H2 
Database" 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/h2-database?hl=en.

Reply via email to