- 28 Apr, 2021 3 commits
-
-
Binbin authored
missing zfree(data) in redis-benchmark. And also correct the wrong size in lrange. the text mentioned 500, but size was 450, changed to 500
-
Binbin authored
When redis-cli was used with both -c (cluster) and -s (unix socket), it would have kept trying to use that unix socket, even if it got redirected by the cluster (resulting in an infinite loop).
-
filipe oliveira authored
- Immediately exit on errors that are not related to topology updates. - Deprecates the `-e` option ( retro compatible ) and warns that we now exit immediately on errors that are not related to topology updates. - Fixed wrongfully failing on config fetch error (warning only). This only affects RE. Bottom line: - MOVED and ASK errors will not show any warning (unlike the throttled error with `-e` before). - CLUSTERDOWN still prints an error unconditionally and sleeps for 1 second. - other errors are fatal.
-
- 27 Apr, 2021 3 commits
-
-
Andy Pan authored
-
avimredis authored
-
Oran Agra authored
This solves an issue reported in #8712 in which a replica would bypass the client write pause check and cause an assertion due to executing a write command during failover. The fact is that we don't expect replicas to execute any command other than maybe REPLCONF and PING, etc. but matching against the ADMIN command flag is insufficient, so instead i just block keyspace access for now.
-
- 26 Apr, 2021 6 commits
-
-
sundb authored
-
avimredis authored
When [WITHCOORD] [WITHDIST] [WITHHASH] are used, the error mentioned GEORADIUS command
-
Yossi Gottlieb authored
-
sundb authored
-
Andy Pan authored
Most of the ae.c backends didn't explicitly handle errors, and instead ignored all errors and did an implicit retry. This is desired for EAGAIN and EINTER, but in case of other systematic errors, we prefer to fail and log the error we got rather than get into a busy loop.
-
Huang Zhw authored
Fix clusterProcessPacket log don't distinguish between pong and meet. Additionally log node name instead of pointer and delete a redundant log.
-
- 25 Apr, 2021 5 commits
-
-
Huang Zhw authored
-
Yang Bodong authored
-
ZheNing Hu authored
After sorting, each item in picks is sorted according to its index. In the original code logic, we traverse from the first element of ziplist until `zipindex == picks[pickindex].index`. We may be able to start directly in `picks[0].index`, this will bring small performance improvement. Signed-off-by:
ZheNing Hu <adlternative@gmail.com>
-
sundb authored
This change does not fix any bugs. 1. ```moduleUnload``` should return ```C_OK``` or ```C_ERR```, not ```REDISMODULE_ERR``` or ```REDISMODULE_OK```. 2. The ```where``` parameter of ```listTypePush``` and ```listTypePop``` should be ```LIST_HEAD``` or ```LIST_TAIL```
-
Istemi Ekin Akkus authored
-
- 24 Apr, 2021 1 commit
-
-
bugwz authored
-
- 22 Apr, 2021 2 commits
-
-
zyxwvu Shi authored
This prevents a case where NTP moves the system clock forward resulting in a false detection of a busy script. Signed-off-by:
zyxwvu Shi <i@shiyc.cn>
-
Wang Yuan authored
Modules event subscribers may get wrong things in notifyKeyspaceEvent callback, such as wrong number of keys, or be able to lookup this key. This commit changes the order to be like the one in evict.c. Cleanup: Since we know the key exists (it expires now), db*Delete is sure to return 1, so there's no need to check it's output (misleading).
-
- 21 Apr, 2021 6 commits
-
-
Ikko Ashimine authored
-
xsddz authored
-
Uri Shachar authored
-
Seunghyun Lee authored
-
Oran Agra authored
the anetGenericAccept return ANET_ERR but outside use constant -1 Co-authored-by:
libo <buaa_libo@126.com>
-
Andy Pan authored
code cleanup in anetGenericAccept
-
- 20 Apr, 2021 4 commits
-
-
bugwz authored
When redis-check-aof finds an error, it prints the line number for faster troubleshooting.
-
Huang Zhw authored
This scene is hard to happen. When first attempt some keys expired, only kv position is updated not ov. Then socket err happens, second attempt is taken. This time kv items may be mismatching with ov items.
-
Madelyn Olson authored
Interior rax pointers were not being freed
-
Bonsai authored
-
- 19 Apr, 2021 5 commits
-
-
Viktor Söderqvist authored
-
Hanna Fadida authored
Adding a new type mask for key space notification, REDISMODULE_NOTIFY_MODULE, to enable unique notifications from commands on REDISMODULE_KEYTYPE_MODULE type keys (which is currently unsupported). Modules can subscribe to a module key keyspace notification by RM_SubscribeToKeyspaceEvents, and clients by notify-keyspace-events of redis.conf or via the CONFIG SET, with the characters 'd' or 'A' (REDISMODULE_NOTIFY_MODULE type mask is part of the '**A**ll' notation for key space notifications). Refactor: move some pubsub test infra from pubsub.tcl to util.tcl to be re-used by other tests.
-
guybe7 authored
Before this commit using RM_Call without "!" could cause the master to lazy-expire a key (delete it) but without replicating to replicas. This could cause the replica's memory usage to gradually grow and could also cause consistency issues if the master and replica have a clock diff. This bug was introduced in #8617 Added a test which demonstrates that scenario.
-
Harkrishn Patro authored
In the initial release of Redis 6.2 setting a user to only allow pubsub access to a specific channel, and doing ACL SAVE, resulted in an assertion when ACL LOAD was used. This was later changed by #8723 (not yet released), but still not properly resolved (now it errors instead of crash). The problem is that the server that generates an ACL file, doesn't know what would be the setting of the acl-pubsub-default config in the server that will load it. so ACL SAVE needs to always start with resetchannels directive. This should still be compatible with old acl files (from redis 6.0), and ones from earlier versions of 6.2 that didn't mess with channels. Co-authored-by:
Harkrishn Patro <harkrisp@amazon.com> Co-authored-by:
Oran Agra <oran@redislabs.com>
-
Wen Hui authored
When replica never successfully connect to master, server.repl_down_since will be initialized to 0, therefore, the info master_link_down_since_seconds was showing the current unix timestamp, which does not make much sense. This commit fixes the issue by showing master_link_down_since_seconds to -1. means the replica never connect to master before. This commit also resets this variable back to 0 when a replica is turned into a master, so that it'll behave the same if the master is later turned into a replica again. The implication of this change is that if some app is checking if the value is > 60 do something, like conclude the replica is stale, this could case harm (changing a big positive number with a small one).
-
- 16 Apr, 2021 1 commit
-
-
guybe7 authored
Fixes #8797
-
- 15 Apr, 2021 4 commits
-
-
Wen Hui authored
-
guybe7 authored
-
guybe7 authored
Starting redis 6.0 (part of the TLS feature), diskless master uses pipe from the fork child so that the parent is the one sending data to the replicas. This mechanism has an issue in which a hung replica will cause the master to wait for it to read the data sent to it forever, thus preventing the fork child from terminating and preventing the creations of any other forks. This PR adds a timeout mechanism, much like the ACK-based timeout, we disconnect replicas that aren't reading the RDB file fast enough.
-
Bonsai authored
-