- 25 Mar, 2020 14 commits
-
-
WuYunlong authored
Before this commit, when upgrading a replica, expired keys will not be loaded, thus causing replica having less keys in db. To this point, master and replica's keys is logically consistent. However, before the keys in master and replica are physically consistent, that is, they have the same dbsize, if master got a problem and the replica got promoted and becomes new master of that partition, and master updates a key which does not exist on master, but physically exists on the old master(new replica), the old master would refuse to update the key, thus causing master and replica data inconsistent. How could this happen? That's all because of the wrong judgement of roles while starting up the server. We can not use server.masterhost to judge if the server is master or replica, since it fails in cluster mode. When we start the server, we load rdb and do want to load expired keys, and do not want to have the ability to active expire keys, if it is a replica.
-
antirez authored
This fixes issue #7011.
-
antirez authored
Note that this as a side effect fixes Sentinel "requirepass" mode.
-
antirez authored
-
zhaozhao.zz authored
-
zhaozhao.zz authored
-
antirez authored
-
zhaozhao.zz authored
-
antirez authored
-
chendianqiang authored
-
guodongxiaren authored
-
Itamar Haber authored
-
bodong.ybd authored
-
fengpf authored
-
- 12 Mar, 2020 3 commits
-
-
lifubang authored
Signed-off-by:
lifubang <lifubang@acmcoder.com>
-
Johannes Truschnigg authored
"Partial Resynchronization" is a special variant of replication success that we have to tell systemd about if it is managing redis-server via a Type=Notify service unit.
-
antirez authored
See #6964. The root cause is that the event loop may be resized from an event callback itself, causing the event pointer to be invalid.
-
- 05 Mar, 2020 19 commits
-
-
antirez authored
-
qetu3790 authored
LRU_CYCLE_PERIOD is defined,but not used.
-
hwware authored
-
ShooterIT authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
-
antirez authored
The idea is that very few commands have a lot of keys, and when this happens the allocation time becomes neglegible.
-
Oran Agra authored
now that we may use it more often (ACL), these excessive calls to malloc and free can become an overhead.
-
antirez authored
-
antirez authored
-
Oran Agra authored
The callback approach we took is very efficient, the module can do any filtering of keys without building any list and cloning strings, it can also read data from the key's value. but if the user tries to re-open the key, or any other key, this can cause dict re-hashing (dictFind does that), and that's very bad to do from inside dictScan. this commit protects the dict from doing any rehashing during scan, but also warns the user not to attempt any writes or command calls from within the callback, for fear of unexpected side effects and crashes.
-
Guy Benoish authored
-
Oran Agra authored
-
Oran Agra authored
-
Guy Benoish authored
-
antirez authored
This makes simpler to give people help when posting such kind of errors in the mailing list or other help forums, because sometimes the directive looks well spelled, but the version of Redis they are using is not able to support it.
-
- 27 Feb, 2020 4 commits
-
-
bodong.ybd authored
-
antirez authored
-
antirez authored
-
Ponnuvel Palaniyappan authored
-