- 18 1月, 2018 6 次提交
-
-
由 gnuhpc 提交于
-
由 Dvir Volk 提交于
-
由 zhaozhao.zz 提交于
-
由 Oran Agra 提交于
-
由 Oran Agra 提交于
- 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
-
由 heqin 提交于
-
- 10 1月, 2018 12 次提交
-
-
由 antirez 提交于
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 提交于
This is a fix for #3819.
-
由 antirez 提交于
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.
-
由 antirez 提交于
Related to #2507.
-
由 antirez 提交于
See PR #2507. This is a reimplementation of the fix that contained different problems.
-
由 heqin 提交于
-
由 antirez 提交于
Related to #4498.
-
由 zhaozhao.zz 提交于
-
由 zhaozhao.zz 提交于
-
由 Tomasz Poradowski 提交于
- when redis-cli is running in a TTY - always enable command history buffering, regardless if history file path can be successfully determined
-
由 antirez 提交于
Fix #3665.
-
由 nashe 提交于
-
- 05 1月, 2018 1 次提交
-
-
由 gnuhpc 提交于
-
- 05 12月, 2017 7 次提交
-
-
由 zhaozhao.zz 提交于
-
由 zhaozhao.zz 提交于
-
由 zhaozhao.zz 提交于
-
由 zhaozhao.zz 提交于
-
由 antirez 提交于
-
由 zhaozhao.zz 提交于
-
由 zhaozhao.zz 提交于
-
- 04 12月, 2017 5 次提交
-
-
由 antirez 提交于
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 提交于
The block is already inside if (allow_dup).
-
由 antirez 提交于
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 提交于
-
由 antirez 提交于
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.
-
- 01 12月, 2017 9 次提交
-
-
由 antirez 提交于
-
由 antirez 提交于
In the case of slaves loading the RDB from master, or in other similar cases, the script is already defined, and the function registering the script should not fail in the assert() call.
-
由 antirez 提交于
-
由 antirez 提交于
-
由 antirez 提交于
Related to #4483. As suggested by @soloestoy, we can retrieve the SHA1 from the body. Given that in the new implementation using AUX fields we ended copying around a lot to create new objects and strings, extremize such concept and trade CPU for space inside the RDB file.
-
由 antirez 提交于
See #4483. This is needed because luaCreateFunction() is now called from RDB loading code outside a client context.
-
由 antirez 提交于
This is currently needed in order to fix #4483, but this can be useful in other contexts, so maybe later we may want to remove the conditionals and always save/load scripts. Note that we are using the "lua" AUX field here, in order to guarantee backward compatibility of the RDB file. The unknown AUX fields must be discarded by past versions of Redis.
-
由 antirez 提交于
-
由 antirez 提交于
Doing the following ended with a broken server.executable: 1. Start Redis with src/redis-server 2. Send CONFIG SET DIR /tmp/ 3. Send DEBUG RESTART At this point we called execve with an argv[0] that is no longer related to the new path. So after the restart the absolute path of the executable is recomputed in the wrong way. With this fix we pass the absolute path already computed as argv[0].
-