H2 DB 2.2.224 is crashing intermittently

154 views
Skip to first unread message

Balamurali Krishna Ippili

unread,
Nov 19, 2024, 12:46:11 AM11/19/24
to H2 Database
Hi Team,

We are using H2 DB 2.2.224 in our component and it is crashing intermittently and giving the below error:

SQL Exception occurred - SQL State 90030: File corrupted while reading record: "/opt/cloakware/cspmserver_thirdparty/tomcat/webapps/ca-nim-sm/WEB-INF/data/nim-sm-customizations.mv.db". Possible solution: use the recovery tool [90030-224]

I saw an article saying the below root cause but in our case this might not be the issue:

The error indicates that a database corruption has occurred in the H2 database. This can happen for different reasons such as disk space limitations or an abrupt server shutdown.

Also saw a comment saying that it is a checksum issue. 

We are unable to determine the root cause for this issue as it is an intermittent issue at our end so could anyone please provide some insights on this issue? Any help on this will be highly appreciated!!!

Thanks,
Balamurali

This electronic communication and the information and any files transmitted with it, or attached to it, are confidential and are intended solely for the use of the individual or entity to whom it is addressed and may contain information that is confidential, legally privileged, protected by privacy laws, or otherwise restricted from disclosure to anyone else. If you are not the intended recipient or the person responsible for delivering the e-mail to the intended recipient, you are hereby notified that any use, copying, distributing, dissemination, forwarding, printing, or copying of this e-mail is strictly prohibited. If you received this e-mail in error, please return the e-mail to the sender, delete it from your computer, and destroy any printed copy of it.

Balamurali Krishna Ippili

unread,
Nov 19, 2024, 12:58:26 AM11/19/24
to H2 Database
I am seeing the following error in the trace logs:

2024-11-08 17:43:10.711000Z database: flush
org.h2.message.DbException: General error: "org.h2.mvstore.MVStoreException: Double mark: 96/42 [2-ae, b3-b7, db-] [2.2.224/6]" [50000-224]
at org.h2.message.DbException.get(DbException.java:212)
at org.h2.message.DbException.convert(DbException.java:407)
at org.h2.mvstore.db.Store.lambda$new$0(Store.java:122)
at org.h2.mvstore.MVStore.handleException(MVStore.java:1546)
at org.h2.mvstore.MVStore.panic(MVStore.java:371)
at org.h2.mvstore.MVStore.<init>(MVStore.java:291)
at org.h2.mvstore.MVStore$Builder.open(MVStore.java:2035)
at org.h2.mvstore.db.Store.<init>(Store.java:133)
at org.h2.engine.Database.<init>(Database.java:326)
at org.h2.engine.Engine.openSession(Engine.java:92)
at org.h2.engine.Engine.openSession(Engine.java:222)
at org.h2.engine.Engine.createSession(Engine.java:201)
at org.h2.engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:343)
at org.h2.jdbc.JdbcConnection.<init>(JdbcConnection.java:125)
at org.h2.Driver.connect(Driver.java:59)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:208)
at com.j256.ormlite.jdbc.JdbcConnectionSource.makeConnection(JdbcConnectionSource.java:252)
at com.j256.ormlite.jdbc.JdbcConnectionSource.getReadWriteConnection(JdbcConnectionSource.java:184)
at com.j256.ormlite.jdbc.JdbcConnectionSource.getReadOnlyConnection(JdbcConnectionSource.java:170)
at com.ca.integration.normalization.common.persistence.DbPersistenceHelper.testDbConnection(DbPersistenceHelper.java:87)
at com.ca.integration.normalization.common.persistence.DbPersistenceHelper.initialize(DbPersistenceHelper.java:75)
at com.ca.integration.normalization.common.NIMServletContextListener.initializePersistence(NIMServletContextListener.java:627)
at com.ca.integration.normalization.common.NIMServletContextListener.initializeNIMWithDbDatastore(NIMServletContextListener.java:215)
at com.ca.integration.normalization.common.NIMServletContextListener.contextInitialized(NIMServletContextListener.java:133)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4462)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4914)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:171)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1332)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1322)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:750)
Caused by: org.h2.jdbc.JdbcSQLNonTransientException: General error: "org.h2.mvstore.MVStoreException: Double mark: 96/42 [2-ae, b3-b7, db-]


Thanks,
Balamurali 

Balamurali Krishna Ippili

unread,
Nov 20, 2024, 3:35:04 AM11/20/24
to H2 Database
Hi Team,

Any suggestions on this issue?

Thanks,
Balamurali

Andreas Reichel

unread,
Nov 20, 2024, 3:40:25 AM11/20/24
to h2-da...@googlegroups.com
Greetings.

At least for me, 2.2.224 was not a good release while 2.2.232 is a really stable and good one.
So I only can advise to migrate/upgrade asap. Also you can try the recovery tool on your corrupted DB. But again, this recover tool works great for me with 2.2.232 -- but I never got anything recovered before that version.

Cheers and good luck
Andreas
--
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 h2-database...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/h2-database/CAG6_yCDJc8cnz1%3D7PbcAL7pfGv-BQgAL9C-wq6ECOyNDBhgM4w%40mail.gmail.com.

Balamurali Krishna Ippili

unread,
Nov 20, 2024, 4:30:11 AM11/20/24
to h2-da...@googlegroups.com
Hi  Andreas,

Thanks for your reply and I really appreciate it.

Sure I will try to upgrade to the latest version 2.2.232 and see if this issue still persists.  I saw a post at https://github.com/h2database/h2database/issues/2752 where it is mentioned that the issue is happening with 2.2.232 as well.

=======================================================================================

Following are the comments from the post:

Since upgrading to H2 2.3.232, we also have this issue on our CI build:

Caused by: org.h2.mvstore.MVStoreException: Double mark: 6e/16b [2-69, 6c-1af, 218-] [2.3.232/6]
=======================================================================================


I used the recovery tool to recreate the DB but it is not working again in our product, also I didn't get much on what is causing this intermittent DB corruption issue  and I am curious to understand is there any data at my end that is causing the issue. Any input on this will be helpful for me.

Thanks,
Balamurali

Reply all
Reply to author
Forward
0 new messages