snmpcollector 4.15 will no longer start after running for months
search cancel

snmpcollector 4.15 will no longer start after running for months

book

Article ID: 385166

calendar_today

Updated On:

Products

DX Unified Infrastructure Management (Nimsoft / UIM) CA Unified Infrastructure Management On-Premise (Nimsoft / UIM) CA Unified Infrastructure Management SaaS (Nimsoft / UIM)

Issue/Introduction

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)

Environment

  • DX UIM 23.4 CU2
  • snmpcollector 4.15

Cause

  • H2 database corruption

Resolution

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.

Additional Information

H2 database corruption.

This issue appears to be fixed in a later version of the H2 database.

https://github.com/h2database/h2database/issues/4102

  1. 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.

  2. This has been fixed in H2 database version 2.2.230 (latest release as of the date of this article)