Track issues: improvements of the kvrocks2redis
Many users would like to use kvrocks2redis to migrate the data from Kvrocks to Redis or other Kvrocks instances. But kvrocks2redis is hard to set up and use, we can improve it by making configurations more clear and simple.
- [ ] Investigate if possible to read the increment change streams from the local as well after parsing the DB dir, so that we can remove the source kvrocks host:port configuration.
- [ ] Add the support for migrating data from Kvrocks to the Redis cluster
- [ ] https://github.com/apache/kvrocks/issues/1442
- [ ] Backoff retry if unable to connect the Redis target
- [ ] Add test cases for kvrocks2redis to make sure it works all the time
- [x] https://github.com/apache/kvrocks/issues/1644
- [x] Rename
cluster-enabletocluster-enabledfor keeping consistent with Kvrocks. Refer https://github.com/apache/kvrocks-website/pull/141#issuecomment-1676479767. #1673
Perhaps we could make kvrocks2redis a command-line tool.
In addition, the current single-threaded model uses files as queue, which is very inefficient. Generally, kvrocks has a large amount of data, and in practice, migration takes a very, very long time. Maybe we can provide a multi-threaded solution as an alternative?
@caipengbo Yes, that's a good idea. #1534 introduces the hiredis, I think we can switch to hiredis to send commands as well.