diff options
author | antirez <antirez@gmail.com> | 2020-03-30 17:29:04 +0200 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2020-03-30 17:29:04 +0200 |
commit | f6d5996ead002350558eb614f275553432f1eb19 (patch) | |
tree | 0658747c46fa79f173976c9ebb5132108a596fa5 | |
parent | 3ef59b50c40c87d6d50d5a52f3859c1a152d805d (diff) | |
parent | aca7f36b57af5f878868d38758849caae0ca91c5 (diff) | |
download | redis-f6d5996ead002350558eb614f275553432f1eb19.tar.gz |
Merge branch 'unstable' of github.com:/antirez/redis into unstable
-rw-r--r-- | src/dict.c | 2 | ||||
-rw-r--r-- | src/replication.c | 15 |
2 files changed, 11 insertions, 6 deletions
diff --git a/src/dict.c b/src/dict.c index 93e6c39a7..ac6f8cfde 100644 --- a/src/dict.c +++ b/src/dict.c @@ -134,7 +134,7 @@ int _dictInit(dict *d, dictType *type, * but with the invariant of a USED/BUCKETS ratio near to <= 1 */ int dictResize(dict *d) { - int minimal; + unsigned long minimal; if (!dict_can_resize || dictIsRehashing(d)) return DICT_ERR; minimal = d->ht[0].used; diff --git a/src/replication.c b/src/replication.c index 20f9a2129..3e9910374 100644 --- a/src/replication.c +++ b/src/replication.c @@ -2754,11 +2754,16 @@ void replicationCacheMasterUsingMyself(void) { server.master_repl_offset, 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; + server.master_repl_offset = server.master_repl_meaningful_offset; + if (server.repl_backlog_histlen <= delta) { + server.repl_backlog_histlen = 0; + server.repl_backlog_idx = 0; + } else { + server.repl_backlog_histlen -= delta; + server.repl_backlog_idx = + (server.repl_backlog_idx + (server.repl_backlog_size - delta)) % + server.repl_backlog_size; + } } /* The master client we create can be set to any DBID, because |