- 15 Jan, 2018 1 commit
-
-
antirez authored
-
- 14 Jan, 2018 1 commit
-
-
zhaozhao.zz authored
-
- 12 Jan, 2018 1 commit
-
-
antirez authored
This fixes a crash with Redis Cluster when OBJECT is mis-used, because getKeysUsingCommandTable() will call serverPanic() detecting we are accessing an invalid argument in the case "OBJECT foo" is called. This bug was introduced when OBJECT HELP was introduced, because the key argument is set fixed at index 2 in the command table, however now OBJECT may be called with an insufficient number of arguments to extract the key. The "Right Thing" would be to have a specific function to extract keys from the OBJECT command, however this is kinda of an overkill, so I preferred to make getKeysUsingCommandTable() more robust and just return no keys when it's not possible to honor the command table, because new commands are often added and also there are a number with an HELP subcommand violating the normal form, and crashing for this trivial reason or having many command-specific key extraction functions is not great.
-
- 11 Jan, 2018 2 commits
- 09 Jan, 2018 2 commits
- 07 Jan, 2018 1 commit
-
-
Dvir Volk authored
-
- 05 Jan, 2018 1 commit
-
-
gnuhpc authored
-
- 03 Jan, 2018 1 commit
-
-
zhaozhao.zz authored
-
- 29 Dec, 2017 2 commits
-
-
Oran Agra authored
-
Oran Agra authored
- protocol parsing (processMultibulkBuffer) was limitted to 32big positions in the buffer readQueryFromClient potential overflow - rioWriteBulkCount used int, although rioWriteBulkString gave it size_t - several places in sds.c that used int for string length or index. - bugfix in RM_SaveAuxField (return was 1 or -1 and not length) - RM_SaveStringBuffer was limitted to 32bit length
-
- 22 Dec, 2017 3 commits
-
-
antirez authored
This is a fix for the #3819 improvements. The o->ptr may change because of hllSparseSet() calls, so 'hdr' must be correctly re-fetched.
-
antirez authored
This is a fix for #3819.
-
antirez authored
The commit splits the add functions into a set() and add() set of functions, so that it's possible to set registers in an independent way just having the index and count. Related to #3819, otherwise a fix is not possible.
-
- 15 Dec, 2017 1 commit
-
-
heqin authored
-
- 14 Dec, 2017 1 commit
-
-
antirez authored
Related to #4498.
-
- 13 Dec, 2017 2 commits
-
-
Tomasz Poradowski authored
- when redis-cli is running in a TTY - always enable command history buffering, regardless if history file path can be successfully determined
-
antirez authored
Fix #3665.
-
- 12 Dec, 2017 1 commit
-
-
nashe authored
-
- 06 Dec, 2017 1 commit
-
-
antirez authored
The main change introduced by this commit is pretending that help arrays are more text than code, thus indenting them at level 0. This improves readability, and is an old practice when defining arrays of C strings describing text. Additionally a few useless return statements are removed, and the HELP subcommand capitalized when printed to the user.
-
- 05 Dec, 2017 8 commits
-
-
Itamar Haber authored
-
Itamar Haber authored
-
antirez authored
We have this operation in two places: when caching the master and when linking a new client after the client creation. By having an API for this we avoid incurring in errors when modifying one of the two places forgetting the other. The function is also a good place where to document why we cache the linked list node. Related to #4497 and #4210.
-
zhaozhao.zz authored
-
zhaozhao.zz authored
-
zhaozhao.zz authored
-
zhaozhao.zz authored
-
WuYunlong authored
-
- 04 Dec, 2017 7 commits
-
-
zhaozhao.zz authored
-
zhaozhao.zz authored
-
antirez authored
-
antirez authored
The function in its initial form, and after the fixes for the PSYNC2 bugs, required code duplication in multiple spots. This commit modifies it in order to always compute the script name independently, and to return the SDS of the SHA of the body: this way it can be used in all the places, including for SCRIPT LOAD, without duplicating the code to create the Lua function name. Note that this requires to re-compute the body SHA1 in the case of EVAL seeing a script for the first time, but this should not change scripting performance in any way because new scripts definition is a rare event happening the first time a script is seen, and the SHA1 computation is anyway not a very slow process against the typical Redis script and compared to the actua Lua byte compiling of the body. Note that the function used to assert() if a duplicated script was loaded, however actually now two times over three, we want the function to handle duplicated scripts just fine: this happens in SCRIPT LOAD and in RDB AUX "lua" loading. Moreover the assert was not defending against some obvious failure mode, so now the function always tests against already defined functions at start.
-
antirez authored
The block is already inside if (allow_dup).
-
antirez authored
Unfortunately, as outlined by @soloestoy in #4505, "lua" AUX RDB field loading in case of duplicated script was still broken. This commit fixes this problem and also a memory leak introduced by the past commit. Note that now we have a regression test able to duplicate the issue, so this commit was actually tested against the regression. The original PR also had a valid fix, but I prefer to hide the details of scripting.c outside scripting.c, and later "SCRIPT LOAD" should also be able to use the function luaCreateFunction() instead of redoing the work.
-
antirez authored
With PSYNC2 to force a full SYNC in tests is hard. With this new DEBUG subcommand we just need to call it and then CLIENT KILL TYPE master in the slave.
-
- 03 Dec, 2017 4 commits
-
-
Itamar Haber authored
-
Itamar Haber authored
-
Itamar Haber authored
-
Itamar Haber authored
-