- 30 Jan, 2020 1 commit
- 
- 
Guy Benoish authored
 
- 
- 29 Jan, 2020 1 commit
- 
- 
Salvatore Sanfilippo authoredModules: Fix blocked-client-related memory leak 
 
- 
- 15 Jan, 2020 2 commits
- 
- 
antirez authored
- 
Salvatore Sanfilippo authoredMake error when submitting command in incorrect context more explicit 
 
- 
- 13 Jan, 2020 8 commits
- 
- 
antirez authored
- 
antirez authored
- 
antirez authored
- 
Salvatore Sanfilippo authoredFix potential memory leak of rioWriteBulkStreamID(). 
- 
antirez authoredRelated to #6054. 
- 
antirez authored
- 
antirez authoredRelated to #6110. 
- 
Salvatore Sanfilippo authoredEnhance IO Threaded: use main thread to handle read/write work 
 
- 
- 10 Jan, 2020 7 commits
- 
- 
Vasyl Melnychuk authoredSo 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
- 
Salvatore Sanfilippo authoredRename rdb when replica finish receiving rdb asynchronously 
- 
antirez authoredWe exit later, so no bug fixed, but it is more correct. See #6054, thanks to @ShooterIT for finding the issue. 
- 
antirez authored
- 
Salvatore Sanfilippo authoredFix bug on KEYS command where pattern starts with * followed by \x00 
- 
Salvatore Sanfilippo authoredUpdate to directive in redis.conf (missing s) 
 
- 
- 09 Jan, 2020 3 commits
- 
- 
Salvatore Sanfilippo authoredBlocking XREAD[GROUP] should always reply with valid data (or timeout) 
- 
Salvatore Sanfilippo authoredAdd support for incremental build with header files 
- 
Salvatore Sanfilippo authoredFix petential cluster link error. 
 
- 
- 08 Jan, 2020 6 commits
- 
- 
Salvatore Sanfilippo authoredAdd REDISMODULE_CTX_FLAGS_MULTI_DIRTY. 
- 
Salvatore Sanfilippo authoredtypo fix in acl.c 
- 
Salvatore Sanfilippo authoredAdjusts 'io_threads_num' max in config.c 
- 
Salvatore Sanfilippo authoredSentinel: avoid sentinel changes promoted_slave to be its own replica. 
- 
antirez authoredFixes #6744. 
- 
hwware authored
 
- 
- 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 authoredInstead of 512, use the defined max from networking.c 
 
- 
- 01 Jan, 2020 2 commits
- 
- 
antirez authoredLikely 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 authoredFuncion 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 2 commits
- 
- 
Guy Benoish authoredIf 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 
- 
Guy Benoish authoredThis commit solves the following bug: 127.0.0.1:6379> XGROUP CREATE x grp $ MKSTREAM OK 127.0.0.1:6379> XADD x 666 f v "666-0" 127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x > 1) 1) "x" 2) 1) 1) "666-0" 2) 1) "f" 2) "v" 127.0.0.1:6379> XADD x 667 f v "667-0" 127.0.0.1:6379> XDEL x 667 (integer) 1 127.0.0.1:6379> XREADGROUP GROUP grp Alice BLOCK 0 STREAMS x > 1) 1) "x" 2) (empty array) The root cause is that we use s->last_id in streamCompareID while we should use the last *valid* ID
 
-