My Mapdb database seems to be corrupt after update from 4.3.11 to 5.2.1
Several self defined items are not persistet anymore so they are Null after restart of openhab service. How can I solve this problem without loosing all persisted data of Mapdb.
Mapdb.persist is:
Items {
* : strategy = everyChange, restoreOnStartup
}
The first two logs of openhab.log:
2026-09-20 15:23:35.096 [ERROR] [nal.common.AbstractInvocationHandler] - An error occurred while calling method ‘QueryablePersistenceService.persistedItem()’ on 'org.openhab.persistence.mapdb.in>
java.lang.AssertionError: data were not fully read, check your serializer
at org.mapdb.Store.deserialize(Store.java:299)
at org.mapdb.StoreDirect.get2(StoreDirect.java:486)
at org.mapdb.StoreWAL.get2(StoreWAL.java:336)
at org.mapdb.StoreWAL.get(StoreWAL.java:320)
at org.mapdb.Caches$HashTable.get(Caches.java:246)
at org.mapdb.EngineWrapper.get(EngineWrapper.java:58)
at org.mapdb.BTreeMap.get(BTreeMap.java:602)
at org.mapdb.BTreeMap.get(BTreeMap.java:589)
at org.openhab.persistence.mapdb.internal.MapDbPersistenceService.persistedItem(MapDbPersistenceService.java:250)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:149)
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)
2026-09-20 15:23:35.166 [ERROR] [ence.internal.PersistenceManagerImpl] - Exception occurred while querying persistence service ‘mapdb’ to restore ‘EG_SonosFenster_Power_Watts’: data were not ful>
java.lang.AssertionError: data were not fully read, check your serializer
at org.mapdb.Store.deserialize(Store.java:299)
at org.mapdb.StoreDirect.get2(StoreDirect.java:486)
at org.mapdb.StoreWAL.get2(StoreWAL.java:336)
at org.mapdb.StoreWAL.get(StoreWAL.java:320)
at org.mapdb.Caches$HashTable.get(Caches.java:246)
at org.mapdb.EngineWrapper.get(EngineWrapper.java:58)
at org.mapdb.BTreeMap.get(BTreeMap.java:602)
at org.mapdb.BTreeMap.get(BTreeMap.java:589)
at org.openhab.persistence.mapdb.internal.MapDbPersistenceService.persistedItem(MapDbPersistenceService.java:250)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
at java.base/java.lang.reflect.Method.invoke(Method.java:580)
at org.openhab.core.internal.common.AbstractInvocationHandler.invokeDirect(AbstractInvocationHandler.java:149)
at org.openhab.core.internal.common.Invocation.call(Invocation.java:52)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
at java.base/java.lang.Thread.run(Thread.java:1583)