redis

Migrating ~80k keys with REDIS and RIOT: missing ~750 keys each time


I am trying to migrate data from one instance of Redis 7.4 to another instance with the same version with RIOT:

./riot-3.1.5/bin/riot \
  --metrics \
  -n 1 -h $SOURCE_REDIS_HOST -p $SOURCE_REDIS_PORT \
  replicate \
  -n 1 -h $TARGET_REDIS_HOST -p $TARGET_REDIS_PORT --user $TARGET_REDIS_USER --pass $TARGET_REDIS_PASSWORD

Things seem to work fine, however each time I run this migration a number of about 750 (changes each time) is missing in the target Redis instance.

What could be the cause of this? I tried processing things in batches, the problem remains. When ran with staging data (388 keys), all keys were imported correctly.

I tried several combinations of args, searched on Google, basically I have been banging my head all day yesterday and today too.

Side note: I have access to the source RDB file, but I do not have access to the server running the target Redis instance (managed by 3rd party), so I cannot simply copy the RDB file to the new instance, which is what I did in the past.


Solution

  • Using Riot 4.1.0 solved the issue, all keys are imported (I was using 3.1.5).