- 06 Feb, 2020 11 commits
-
-
Guy Benoish authored
-
Oran Agra authored
-
Guy Benoish authored
1. server.repl_no_slaves_since can be set when a MONITOR client disconnects 2. c->repl_ack_time can be set by a newline from a MONITOR client 3. Improved comments
-
Oran Agra authored
-
Oran Agra authored
althouh in theory, users can do BGREWRITEAOF even if aof is disabled, i suppose it is more common that the scheduled flag is set by either startAppendOnly, of a failed initial AOFRW fork (AOF_WAIT_REWRITE)
-
Oran Agra authored
replicationUnsetMaster can be called from other places, not just replicaofCOmmand, and all of these need to restart AOF
-
Oran Agra authored
-
Oran Agra authored
this function possibly iterates on the module list
-
Oran Agra authored
using panic rather than exit means you get s stack trace of the code path that experianced the error, and possibly other info.
-
Oran Agra authored
currently there's no bug since the flags these functions handle are always lower than 32bit, but still better fix the type to prevent future bugs.
-
Oran Agra authored
the warning condition was if usage > limit (saying it'll cause eviction or oom), but in fact the eviction and oom depends on used minus slave buffers. other than fixing the condition, i add info about the current usage and limit, which may be useful when looking at the log.
-
- 05 Feb, 2020 2 commits
-
-
Oran Agra authored
We noticed that the error replies for the generic mechanism for enums are very verbose for config file parsing, but not for config set command. instead of replicating this code, i did a small refactoring to share code between CONFIG SET and config file parsing. and also renamed the enum group functions to be consistent with the naming of other types.
-
Oran Agra authored
-
- 04 Feb, 2020 1 commit
-
-
WuYunlong authored
-
- 03 Feb, 2020 1 commit
-
-
Oran Agra authored
-
- 02 Feb, 2020 1 commit
-
-
Leo Murillo authored
-
- 30 Jan, 2020 1 commit
-
-
Guy Benoish authored
This bug affected RM_StringToLongDouble and HINCRBYFLOAT. I added tests for both cases. Main changes: 1. Fixed string2ld to fail if string contains \0 in the middle 2. Use string2ld in getLongDoubleFromObject - No point of having duplicated code here The two changes above broke RM_SaveLongDouble/RM_LoadLongDouble because the long double string was saved with length+1 (An innocent mistake, but it's actually a bug - The length passed to RM_SaveLongDouble should not include the last \0).
-
- 29 Jan, 2020 2 commits
-
-
Yossi Gottlieb authored
-
antirez authored
-
- 15 Jan, 2020 1 commit
-
-
antirez authored
-
- 13 Jan, 2020 5 commits
- 10 Jan, 2020 2 commits
-
-
Vasyl Melnychuk authored
So error message `ERR only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context` will become `ERR 'get' command submitted, but only (P)SUBSCRIBE / (P)UNSUBSCRIBE / PING / QUIT allowed in this context`
-
antirez authored
We exit later, so no bug fixed, but it is more correct. See #6054, thanks to @ShooterIT for finding the issue.
-
- 08 Jan, 2020 2 commits
- 07 Jan, 2020 4 commits
-
-
Leo Murillo authored
-
WuYunlong authored
-
yz1509 authored
-
WuYunlong authored
-
- 06 Jan, 2020 1 commit
-
-
WuYunlong authored
-
- 04 Jan, 2020 1 commit
-
-
Itamar Haber authored
Instead of 512, use the defined max from networking.c
-
- 01 Jan, 2020 2 commits
-
-
antirez authored
Likely fix #6723. This is what happens AFAIK: we enter the main loop where we expire stuff until a given percentage of keys is still found to be logically expired. There are however other potential exit conditions. However the "sampled" variable is not always incremented inside the loop, because we may found no valid slot as we scan the hash table, but just NULLs ad dict entries. So when the do/while loop condition is triggered at the end, we do (expired*100/sampled), dividing by zero if we sampled 0 keys.
-
John Sully authored
-
- 31 Dec, 2019 2 commits
-
-
ShooterIT authored
-
WuYunlong authored
Funcion adjustOpenFilesLimit() has an implicit parameter, which is server.maxclients. This function aims to ajust maximum file descriptor number according to server.maxclients by best effort, which is "bestlimit" could be lower than "maxfiles" but greater than "oldlimit". When we try to increase "maxclients" using CONFIG SET command, we could increase maximum file descriptor number to a bigger value without calling aeResizeSetSize the same time. When later more and more clients connect to server, the allocated fd could be bigger and bigger, and eventually exceeds events size of aeEventLoop.events. When new nodes joins the cluster, new link is created, together with new fd, but when calling aeCreateFileEvent, we did not check the return value. In this case, we have a non-null "link" but the associated fd is not registered. So when we dynamically set "maxclients" we could reach an inconsistency between maximum file descriptor number of the process and server.maxclients. And later could cause cluster link and link fd inconsistency. While setting "maxclients" dynamically, we consider it as failed when resulting "maxclients" is not the same as expected. We try to restore back the maximum file descriptor number when we failed to set "maxclients" to the specified value, so that server.maxclients could act as a guard as before.
-
- 30 Dec, 2019 1 commit
-
-
Guy Benoish authored
If a blocked module client times-out (or disconnects, unblocked by CLIENT command, etc.) we need to call moduleUnblockClient in order to free memory allocated by the module sub-system and blocked-client private data Other changes: Made blockedonkeys.tcl tests a bit more aggressive in order to smoke-out potential memory leaks
-