tonivade / claudb

ClauDB is a REDIS implementation in Java

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

importRDB Error

zhou-hao opened this issue · comments

 by: java.io.IOException: not supported: 172
	at com.github.tonivade.claudb.persistence.RDBInputStream.parse(RDBInputStream.java:116)
	at com.github.tonivade.claudb.DBServerState.importRDB(DBServerState.java:107)
	at com.github.tonivade.claudb.ClauDB.lambda$importRDB$2(ClauDB.java:136)
	at io.reactivex.internal.operators.observable.ObservableCreate.subscribeActual(ObservableCreate.java:40)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at io.reactivex.internal.operators.observable.ObservableObserveOn.subscribeActual(ObservableObserveOn.java:45)
	at io.reactivex.Observable.subscribe(Observable.java:12284)
	at io.reactivex.internal.operators.observable.ObservableBlockingSubscribe.subscribe(ObservableBlockingSubscribe.java:81)
	... 20 common frames omitted

Sorry, can you provide more details.

Which version of claudb are you using?
Can you explain briefly how do you reproduce the problem?

version 1.5.2

 DBConfig config= new DBConfig();
        config.setPersistenceActive(true);
        config.setAofFile("./data/redis/jetlinks.aof");
        config.setRdbFile("./data/redis/jetlinks.rdb");

        ClauDB.builder()
            .config(config)
            .host("0.0.0.0")
            .port(7081)
            .build()
            .start();

i can not reproduce the problem in simple program, you can use this data test it.

redis-data.zip

Unfortunately, I've found a bug in RDBOutputStream that corrupts rdb files. I tried to fix the file you provided me, but I'm not sure if the fix is correct.

redis-fixed.zip

I've fixed the bug, you can try it using the latest snapshot, 1.8.0-SNAPSHOT. But probably I will release a bug fix version 1.7.1.

thanks, when to release the 1.7.1 ?

Soon :-)

version 1.7.1 released!