snmpcollector will not start due to:
Nested Throwables StackTrace:
org.h2.jdbc.JdbcSQLNonTransientConnectionException: The database has been closed [90098-224]
...
Caused by: org.h2.mvstore.MVStoreException: Invalid chunk id 0 [2.2.224/6]
at org.h2.mvstore.DataUtils.newMVStoreException(DataUtils.java:996)
at org.h2.mvstore.Chunk.<init>(Chunk.java:210)
at org.h2.mvstore.SFChunk.<init>(SFChunk.java:22)
at org.h2.mvstore.RandomAccessStore.createChunk(RandomAccessStore.java:54)
at org.h2.mvstore.RandomAccessStore.createChunk(RandomAccessStore.java:28)
at org.h2.mvstore.FileStore.createChunk(FileStore.java:764)
at org.h2.mvstore.FileStore.serializeAndStore(FileStore.java:1423)
at org.h2.mvstore.FileStore.lambda$storeIt$2(FileStore.java:1376)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:750)
The SNMPcollector probe automatically saves backups of the SnmpCollector.mv.db file which is the DB where the configuration is stored, e.g., C:\Program Files (x86)\Nimsoft\probes\network\snmpcollector
These backups can be restored when needed.
To restore a previous backup of the H2 database that is fairly recent,
1. Deactivate snmpcollector
2. Unzip the most recent/good dbbackup-<data/time stamp>.zip. The zipped file contains a copy of the SnmpCollector.mv.db
3. Rename the current corrupt SnmpCollector.mv.db
4. Copy the SnmpCollector.mv.db from the recent backup to the snmpcollector folder
5. Activate the snmpcollector probe
6. Check to make sure that the snmpcollector robe starts and gets a port and a pid, and continues running
7. Then open the configuration using the Admin Console to confirm.
H2 database corruption.
This issue appears to be fixed in a later version of the H2 database.
https://github.com/h2database/h2database/issues/4102
If the database runs long enough and changes enough data, then the maximum chunk id can be reached and then it will roll-over and restart with 0.
This has been fixed in H2 database version 2.2.230 (latest release as of the date of this article)