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.

Reply via email to