summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2020-03-27 16:19:56 +0100
committerantirez <antirez@gmail.com>2020-03-27 16:20:02 +0100
commit97f1c808ce522113935bad244a9505a87ba27f9e (patch)
treee7a63eeed4512bacc876908a946c794aa1173f8f
parent2ea7f0ecad118a4dc43a34a1b771a8c9070b883d (diff)
downloadredis-97f1c808ce522113935bad244a9505a87ba27f9e.tar.gz
PSYNC2: fix backlog_idx when adjusting for meaningful offset
See #7002.
-rw-r--r--src/replication.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/replication.c b/src/replication.c
index e62afb2fb..20f9a2129 100644
--- a/src/replication.c
+++ b/src/replication.c
@@ -2755,6 +2755,9 @@ void replicationCacheMasterUsingMyself(void) {
delta);
server.master_initial_offset = server.master_repl_meaningful_offset;
server.repl_backlog_histlen -= delta;
+ server.repl_backlog_idx =
+ (server.repl_backlog_idx + (server.repl_backlog_size - delta)) %
+ server.repl_backlog_size;
if (server.repl_backlog_histlen < 0) server.repl_backlog_histlen = 0;
}