0

Database created on H2 version 197 could't be opened after upgrade to v200.

Here is stacktrace provided

com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool.checkoutPooledConnection(C3P0PooledConnectionPool.java:685) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        ... 80 more
    Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "java.lang.IllegalStateException: Unable to read the page at position 85761907358282 [1.4.200/6]" [50000-200]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:505) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.message.DbException.getJdbcSQLException(DbException.java:429) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.message.DbException.get(DbException.java:194) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.message.DbException.convert(DbException.java:347) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.openDatabase(Database.java:333) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.<init>(Database.java:301) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.openSession(Engine.java:74) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.openSession(Engine.java:192) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:171) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSession(Engine.java:166) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSession(Engine.java:29) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:340) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:173) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.Driver.connect(Driver.java:69) ~[h2-1.4.200.jar:1.4.200]
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) ~[mchange-commons-java-0.2.15.jar:0.2.15]
    Caused by: java.lang.IllegalStateException: Unable to read the page at position 85761907358282 [1.4.200/6]
        at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.readPage(MVStore.java:2213) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVMap.readPage(MVMap.java:672) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVMap.readOrCreateRootPage(MVMap.java:688) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVMap.setRootPos(MVMap.java:682) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.openMap(MVStore.java:576) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.openMap(MVStore.java:535) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.openMap(MVStore.java:516) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.removeMap(MVStore.java:2742) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.handleUpgradeIssues(Database.java:866) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.open(Database.java:742) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.openDatabase(Database.java:307) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.<init>(Database.java:301) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.openSession(Engine.java:74) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.openSession(Engine.java:192) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:171) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSession(Engine.java:166) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSession(Engine.java:29) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:340) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:173) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.Driver.connect(Driver.java:69) ~[h2-1.4.200.jar:1.4.200]
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) ~[mchange-commons-java-0.2.15.jar:0.2.15]
    Caused by: java.lang.IllegalStateException: Unsupported type 17 [1.4.200/3]
        at org.h2.mvstore.DataUtils.newIllegalStateException(DataUtils.java:950) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.type.ObjectDataType.newType(ObjectDataType.java:165) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.type.ObjectDataType.read(ObjectDataType.java:229) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.type.ObjectDataType.read(ObjectDataType.java:114) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.Page.read(Page.java:605) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.Page.read(Page.java:239) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.readPage(MVStore.java:2211) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVMap.readPage(MVMap.java:672) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVMap.readOrCreateRootPage(MVMap.java:688) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVMap.setRootPos(MVMap.java:682) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.openMap(MVStore.java:576) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.openMap(MVStore.java:535) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.openMap(MVStore.java:516) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.mvstore.MVStore.removeMap(MVStore.java:2742) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.handleUpgradeIssues(Database.java:866) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.open(Database.java:742) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.openDatabase(Database.java:307) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Database.<init>(Database.java:301) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.openSession(Engine.java:74) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.openSession(Engine.java:192) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSessionAndValidate(Engine.java:171) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSession(Engine.java:166) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.Engine.createSession(Engine.java:29) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:340) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:173) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:152) ~[h2-1.4.200.jar:1.4.200]
        at org.h2.Driver.connect(Driver.java:69) ~[h2-1.4.200.jar:1.4.200]
        at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:206) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:203) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908) ~[c3p0-0.9.5.4.jar:0.9.5.4]
        at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696) ~[mchange-commons-java-0.2.15.jar:0.2.15]
ray
  • 11,310
  • 7
  • 18
  • 42
Valentin
  • 36
  • 6
  • Does this answer your question? [H2 Database - Throwing General error: "java.lang.IllegalStateException: Unable to read the page at position 2199023614787](https://stackoverflow.com/questions/62875891/h2-database-throwing-general-error-java-lang-illegalstateexception-unable-t) – st.huber Nov 15 '21 at 10:08
  • Thanks. Only one way is to use upgrade routine (export, import) this is not possible for distributed software, as I need use both libs. – Valentin Nov 16 '21 at 09:05

0 Answers0