GitHub user ninuxer created a discussion: kvrocks2redis increment data sync 
failed

I synchronized data using kvrocks2redis. The test case is as follows:
1. Wrote approximately 100 million keys of existing data, with 20 million keys 
each for string, hash, list, set, and zset. Complex data types contained 5 
elements per key, totaling about 10GB of existing data.
2. Initiate kvrocks2redis synchronization to begin data transfer.
3. Continuously write incremental data to the source, with data samples 
mirroring the existing dataset: strings, hashes, lists, sets, and zsets. Each 
complex data type key contains 5 elements, with 3,000 QPS per type.

At this point, it was observed that synchronizing the existing data took 
approximately one hour. After completing the full data synchronization, when 
incremental synchronization began, a sequence mismatch error occurred, causing 
the incremental synchronization to fail. This triggered another full 
synchronization, resulting in a continuous loop.

Previously, I configured the source kvrocks with:
rocksdb.max_total_wal_size set to 128G
rocksdb.wal_ttl_seconds set to 86400
rocksdb.wal_size_limit_mb set to 128G

My questions are:
Why does the full synchronization keep repeating?
How can this issue be resolved?

kvrocks2redis log like:
```
[2026-01-21 11:09:45.005] [kvrocks2redis] [info] [main.cc:117] kvrocks2redis 
version 2.14.0
[2026-01-21 11:13:17.936] [kvrocks2redis] [info] [storage.cc:407] [storage] 
Success to load the data from disk: 212924 ms
[2026-01-21 11:13:17.936] [kvrocks2redis] [info] [sync.cc:61] Start sync the 
data from kvrocks to redis
[2026-01-21 11:13:17.938] [kvrocks2redis] [error] [sync.cc:107] 
checkWALBoundary with sequence: 0, but GetWALIter return newer sequence: 
11277514091  // i add this log by change sync.cc for debug
[2026-01-21 11:13:17.938] [kvrocks2redis] [info] [sync.cc:157] Start parsing kv 
from the local storage
[2026-01-21 12:16:43.990] [kvrocks2redis] [info] [sync.cc:118] Start parsing 
increment data
[2026-01-21 12:21:25.053] [kvrocks2redis] [warning] [event_listener.cc:181] 
[event_listener/stall_cond_changed] column family: default write stall 
condition was changed, from delay to normal
[2026-01-21 12:21:36.629] [kvrocks2redis] [error] [sync.cc:134] 
checkWALBoundary with sequence: 12352724681, but GetWALIter return newer 
sequence: 12461365879  // i add this log by change sync.cc for debug
[2026-01-21 12:21:36.629] [kvrocks2redis] [error] [sync.cc:69] 
[2026-01-21 12:21:36.630] [kvrocks2redis] [error] [sync.cc:107] 
checkWALBoundary with sequence: 12352724681, but GetWALIter return newer 
sequence: 12461365879  // i add this log by change sync.cc for debug
[2026-01-21 12:21:36.630] [kvrocks2redis] [info] [sync.cc:157] Start parsing kv 
from the local storage
[2026-01-21 12:21:38.113] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.114] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.115] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.117] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.118] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.119] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.120] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.121] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
[2026-01-21 12:21:38.122] [kvrocks2redis] [error] [redis_writer.cc:117] failed 
to read AOF file: Bad file descriptor
```

GitHub link: https://github.com/apache/kvrocks/discussions/3345

----
This is an automatically sent email for [email protected].
To unsubscribe, please send an email to: [email protected]

Reply via email to