I have an application that utilizes MapDB databases for persistent storage.
The application utilizes multiple database files to provide isolation, and at runtime the appropriate MapDB file is:
1. Opened.
2. Data within HTreeMaps is modified.
3. The DB is closed.
The DB is opened with the following options:
1. transactionEnable
2. closeOnJvmShutdown
3. cleanerHackEnable
The files are opened in memory mapped mode.
Even with transactions enabled, I am occasionally seeing DB corruption. I think this is related to when my process restarts abruptly. Even so, I'd expect to lose transactions in the WAL, but not wind up with a corrupted DB.
I am using version 3.1.0.
Any suggestions of where to debug next?
/Ryan