tonivade / claudb

ClauDB is a REDIS implementation in Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Restart claudb with persistence enabled, overwrite old persistence

advancedlogic opened this issue · comments

When I start claudb with persistence enabled and then I quit claudb (and I can see both AOF and RDB files in the directory) , once restarted it looks like claudb overwrite the old files and in this way everything cached in the past is lost

It seems that there's an issue when claudb restores the state using redo file. It seems that rdb file is restored correctly

Exception in thread "main" java.lang.ClassCastException: com.github.tonivade.resp.protocol.AbstractRedisToken$StringRedisToken cannot be cast to com.github.tonivade.resp.protocol.AbstractRedisToken$ArrayRedisToken
	at com.github.tonivade.claudb.persistence.PersistenceManager.importRedo(PersistenceManager.java:107)
	at com.github.tonivade.claudb.persistence.PersistenceManager.start(PersistenceManager.java:60)
	at com.github.tonivade.purefun.type.Option.ifPresent(Option.java:82)
	at com.github.tonivade.claudb.ClauDB.start(ClauDB.java:79)
	at com.github.tonivade.resp.RespServer.start(RespServer.java:90)
	at com.github.tonivade.claudb.Server.main(Server.java:50)

Version 1.5.0 released with the persistence fixed, please @advancedlogic test it and let me now if its solved.

Thanks!