I have a three node redis and 3 node sentinel, everything is ok and all master and slaves are verified and sentinel config file is updated with all redis and sentinel nodes, but the problem is after redis master failover other working slave starts Full resync from master, instead of partial resynchronization. Let's call new master redis1, and new slave redis2 That's part of redis2 log, where we can see resynchronization
8107:S 03 Oct 2023 11:09:44.835 * Trying a partial resynchronization (request 0aaf68746133b05ef46fdc3f7712b4c1da590d83:2232468731949).
8107:S 03 Oct 2023 11:09:49.051 * Full resync from master: 25a52ce80d5bb67020df25e151b4157cb247f137:2232468714685
And that's redis1 redis replication info
master_replid:25a52ce80d5bb67020df25e151b4157cb247f137
master_replid2:0aaf68746133b05ef46fdc3f7712b4c1da590d83
You can see that master_replid2 on redis1 and master_replid on redis2 are identical, but redis2 starts Full resync. By guess is offset difference. Seams redis1 offset is 2232468714685 and redis2 offset is 2232468731949, which is newer and can't do partial resynchronization. Any ideas how to prevent this?
I performed manual failover (stop redis server on master). After that one of the slaves became master, but another working slave started full resync, instead of partial synchronization. I need to find a way to prevent full resync for working nodes.