Hello, I have an application deployed to a number of end users and I'm getting occasional reports of database corruption issues. I have a sample of a log file from one of the users with the following exception:
Caused by: org.h2.jdbc.JdbcSQLException: File corrupted while reading record: "page[14853] stream trunk key:66 next:15873". Possible solution: use the recovery tool [90030-182] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.message.DbException.get(DbException.java:179) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.message.DbException.get(DbException.java:155) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.index.PageDataIndex.getPage(PageDataIndex.java:241) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.index.PageDataNode.getLastKey(PageDataNode.java:214) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.index.PageDataIndex.<init>(PageDataIndex.java:87) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.table.RegularTable.<init>(RegularTable.java:83) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.store.PageStore.addMeta(PageStore.java:1697) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.store.PageStore.readMetaData(PageStore.java:1628) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.store.PageStore.recover(PageStore.java:1405) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.store.PageStore.openExisting(PageStore.java:367) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.store.PageStore.open(PageStore.java:288) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Database.getPageStore(Database.java:2390) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Database.open(Database.java:666) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Database.openDatabase(Database.java:266) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Database.<init>(Database.java:260) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Engine.openSession(Engine.java:60) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Engine.openSession(Engine.java:167) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Engine.createSessionAndValidate(Engine.java:145) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Engine.createSession(Engine.java:128) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.Engine.createSession(Engine.java:26) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:347) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:108) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:92) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.Driver.connect(Driver.java:72) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbcx.JdbcDataSource.getJdbcConnection(JdbcDataSource.java:190) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbcx.JdbcDataSource.getXAConnection(JdbcDataSource.java:353) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbcx.JdbcDataSource.getPooledConnection(JdbcDataSource.java:385) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbcx.JdbcConnectionPool.getConnectionNow(JdbcConnectionPool.java:227) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.h2.jdbcx.JdbcConnectionPool.getConnection(JdbcConnectionPool.java:199) ~[h2-1.4.182.jar.pack.gz:1.4.182] at org.flywaydb.core.internal.util.jdbc.JdbcUtils.openConnection(JdbcUtils.java:50) ~[flyway-core-3.0.jar.pack.gz:na] ... 35 common frames omitted The application connects to the database with the following connection URL: jdbc:h2:nio:~/tva/tvadb;MODE=PostgreSQL;MV_STORE=FALSE;EARLY_FILTER=TRUE;QUERY_CACHE_SIZE=16 Do you have any ideas that might help alleviate this issue? Would using the MV store be more reliable in this regard? Unfortunately, I don't have a specific scenario identified which causes the problem to occur. -- 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/d/optout.
