For no evident reason, we're getting a random failure on a simple query reporting a corruption error. Program continues successfully and consecutive transactions works fine. But has been very puzzling and we cannot figure any root cause.
Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "java.lang.IllegalStateException: File corrupted in chunk 73350, expected page length 4..256, got 404232216 [1.4.200/6]"; SQL statement:
SELECT COUNT(*) FROM task WHERE job_fk = 694 [50000-200]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:505) ~[factory.jar:2.1]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) ~[factory.jar:2.1]
at org.h2.message.DbException.get(DbException.java:194) ~[factory.jar:2.1]
at org.h2.message.DbException.convert(DbException.java:347) ~[factory.jar:2.1]
at org.h2.command.Command.executeQuery(Command.java:212) ~[factory.jar:2.1]
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) ~[factory.jar:2.1]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82) ~[factory.jar:2.1]
... 26 more
Caused by: java.lang.IllegalStateException: File corrupted in chunk 73350, expected page length 4..256, got 404232216 [1.4.200/6]
at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950) ~[factory.jar:2.1]
at org.h2.mvstore.Chunk.readBufferForPage(Chunk.java:368) ~[factory.jar:2.1]
at org.h2.mvstore.MVStore.readBufferForPage(MVStore.java:1214) ~[factory.jar:2.1]
at org.h2.mvstore.MVStore.readPage(MVStore.java:2209) ~[factory.jar:2.1]
at org.h2.mvstore.MVMap.readPage(MVMap.java:672) ~[factory.jar:2.1]
at org.h2.mvstore.Cursor.hasNext(Cursor.java:53) ~[factory.jar:2.1]
at org.h2.mvstore.tx.TransactionMap$CommittedIterator.fetchNext(TransactionMap.java:779) ~[factory.jar:2.1]
at org.h2.mvstore.tx.TransactionMap$TMIterator.next(TransactionMap.java:952) ~[factory.jar:2.1]
at org.h2.mvstore.db.MVSecondaryIndex$MVStoreCursor.next(MVSecondaryIndex.java:474) ~[factory.jar:2.1]
at org.h2.index.IndexCursor.next(IndexCursor.java:291) ~[factory.jar:2.1]
at org.h2.table.TableFilter.next(TableFilter.java:529) ~[factory.jar:2.1]
at org.h2.command.dml.Select.gatherGroup(Select.java:520) ~[factory.jar:2.1]
at org.h2.command.dml.Select.queryGroup(Select.java:487) ~[factory.jar:2.1]
at org.h2.command.dml.Select.queryWithoutCache(Select.java:839) ~[factory.jar:2.1]
at org.h2.command.dml.Query.queryWithoutCacheLazyCheck(Query.java:201) ~[factory.jar:2.1]
at org.h2.command.dml.Query.query(Query.java:489) ~[factory.jar:2.1]
at org.h2.command.dml.Query.query(Query.java:451) ~[factory.jar:2.1]
at org.h2.command.CommandContainer.query(CommandContainer.java:285) ~[factory.jar:2.1]
at org.h2.command.Command.executeQuery(Command.java:195) ~[factory.jar:2.1]
at org.h2.jdbc.JdbcPreparedStatement.executeQuery(JdbcPreparedStatement.java:114) ~[factory.jar:2.1]
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:82) ~[factory.jar:2.1]
... 26 more
2) JDBC connection URL "jdbc:h2:retry://.dbfile;LOCK_TIMEOUT=10000;AUTO_RECONNECT=TRUE;AUTO_SERVER=TRUE;DB_CLOSE_ON_EXIT=FALSE;";