Rrd4j warning "archive already defined"


I use OH 3.0.1 and have problem with the rrd4j persistence. I changed the rrd4j.cfg without stopping the OH3 service. Since I changed the config, I get the following warning and the values are not saved:

2021-02-04 20:39:12.470 [WARN ] [org.openhab.core.items.GenericItem  ] - failed notifying listener 'org.openhab.core.persistence.internal.PersistenceManagerImpl@b26554' about state update of item Tablet_Pingzeit: Archive already defined: RRA:AVERAGE:0.5:1:360

java.lang.IllegalArgumentException: Archive already defined: RRA:AVERAGE:0.5:1:360

at org.rrd4j.core.RrdDef.addArchive(RrdDef.java:422) ~[?:?]

at org.rrd4j.core.RrdDef.addArchive(RrdDef.java:454) ~[?:?]

at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.getRrdDef(RRD4jPersistenceService.java:387) ~[?:?]

at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.getDB(RRD4jPersistenceService.java:328) ~[?:?]

at org.openhab.persistence.rrd4j.internal.RRD4jPersistenceService.store(RRD4jPersistenceService.java:140) ~[?:?]

at org.openhab.core.persistence.internal.PersistenceManagerImpl.handleStateEvent(PersistenceManagerImpl.java:152) ~[?:?]

at org.openhab.core.persistence.internal.PersistenceManagerImpl.stateChanged(PersistenceManagerImpl.java:473) ~[?:?]

at org.openhab.core.items.GenericItem.lambda$1(GenericItem.java:259) [bundleFile:?]

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) [?:?]

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) [?:?]

at java.lang.Thread.run(Thread.java:834) [?:?]

I can only find the .rrd-files, but if I delet them, they are generated in the folder after the next reboot. This is correct, but why I also get the warning, that the archives are already defined? Can someone help me how I can delete the definition of the old .rrd-files?


Same Problem here with OH4M2.
I used the rrd4j from the documentation.
I already stopped OH, removed the rrd file and started OH again.
Problem still exists, even if i reset the rrd4j to the default.

Do you use an openhabian image / installatuon that uses zram?

No, it’s running inside kubernetes with the original docker image

Ok got it, looks like a bug?
What worked:

  • shutdown openhab
  • remove all *.rrd files
  • remove rrd4j as persistence
  • remove userdata/config/org/openhab/rrd4j.config
  • add rrd4j as persistence again
  • start openhab