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.
