6487 Commits

Author SHA1 Message Date
heqin
31109c10e9 fixbug for #4545 dead loop aof rewrite 2017-12-18 17:59:03 +08:00
heqin
c0296376a5 fixbug for #4538 Error opening /setting AOF rewrite IPC pipes: No such file or directory 2017-12-15 11:06:58 +08:00
Salvatore Sanfilippo
f9c443322d Merge pull request #4528 from nashe/patch-oob-read-4527
Prevent off-by-one read in stringmatchlen()
2017-12-14 12:21:32 +01:00
antirez
87b16c07d2 safe_write -> aofWrite. Function commented.
Related to #4498.
2017-12-14 12:19:36 +01:00
Salvatore Sanfilippo
c4d9f5b2b7 Merge pull request #4498 from soloestoy/aof-safe-write
Aof safe write -- fix the short write
2017-12-14 12:15:46 +01:00
antirez
3c36d7c91a Cluster: allow read-only EVAL/EVALSHA in slaves.
Fix #3665.
2017-12-13 13:36:01 +01:00
nashe
b3028109ea Prevent off-by-one read in stringmatchlen() (fixes #4527) 2017-12-12 01:25:03 +01:00
antirez
eeb4bcbd85 Change indentation and other minor details of PR #4489.
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.
2017-12-06 12:05:14 +01:00
Itamar Haber
26e854f1cb C style 2017-12-05 19:09:19 +02:00
Itamar Haber
925f7ab0b9 Uses an offset in addReplyHelp 2017-12-05 18:17:14 +02:00
Itamar Haber
29f1a3ee20 Merge remote-tracking branch 'upstream/unstable' into help_subcommands 2017-12-05 18:14:59 +02:00
antirez
e0df883f45 add linkClient(): adds the client and caches the list node.
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.
2017-12-05 16:02:03 +01:00
Salvatore Sanfilippo
1bfd55ac7d Merge pull request #4497 from soloestoy/optimize-unlink-client
networking: optimize unlinkClient() in freeClient()
2017-12-05 15:51:15 +01:00
Salvatore Sanfilippo
8f1b3fa83e Merge pull request #4508 from trevor211/fixNotes
fix some notes
2017-12-05 15:47:05 +01:00
antirez
32d19dd8db Merge branch 'unstable' of github.com:/antirez/redis into unstable 2017-12-05 15:38:21 +01:00
zhaozhao.zz
3ab4a9020d dict: fix the int problem for defrag 2017-12-05 15:38:03 +01:00
zhaozhao.zz
5b651f2f0a dict: fix the int problem 2017-12-05 15:37:59 +01:00
Salvatore Sanfilippo
b57b5c09c2 Merge pull request #4488 from itamarhaber/debug_arity
Standardizes arity handling of DEBUG
2017-12-05 15:29:42 +01:00
Salvatore Sanfilippo
4cf4ab6f6f Merge pull request #4509 from soloestoy/set-int-problem
Set int problem
2017-12-05 15:28:08 +01:00
zhaozhao.zz
3e4450e2a8 set: fix the int problem for qsort 2017-12-05 17:42:19 +08:00
zhaozhao.zz
0d56dd726c set: fix the int problem for SPOP & SRANDMEMBER 2017-12-05 17:19:19 +08:00
WuYunlong
21e7cc7caa fix some notes 2017-12-05 14:41:16 +08:00
Salvatore Sanfilippo
c6af1e02df Merge pull request #4506 from soloestoy/quicklist-int-problem
Quicklist int problem
2017-12-04 17:25:34 +01:00
zhaozhao.zz
4466740335 quicklist: change the len of quicklist to unsigned long 2017-12-04 19:49:40 +08:00
zhaozhao.zz
1073ca2208 quicklist: fix the return value of quicklistCount 2017-12-04 19:49:23 +08:00
antirez
3e0767209a Streams: fix a few type mismatches in t_stream.c. 2017-12-04 11:59:15 +01:00
antirez
0f55991907 Refactoring: improve luaCreateFunction() API.
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.
2017-12-04 11:25:20 +01:00
antirez
4492b2f383 Remove useless variable check from luaCreateFunction().
The block is already inside if (allow_dup).
2017-12-04 10:55:54 +01:00
antirez
e44e844751 Fix issue #4505, Lua RDB AUX field loading of existing scripts.
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.
2017-12-04 10:33:04 +01:00
antirez
e164abf256 Regression test for #4505 (Lua AUX field loading). 2017-12-04 10:26:02 +01:00
antirez
51d16ccac0 DEBUG change-repl-id implemented.
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.
2017-12-04 10:24:52 +01:00
Itamar Haber
1214d1bd40 Adds help to CONFIG 2017-12-03 19:34:31 +02:00
Itamar Haber
ae5cf8285c Adds help to CLUSTER command 2017-12-03 19:05:10 +02:00
Itamar Haber
7471685a41 Improve slowlog help 2017-12-03 17:39:52 +02:00
Itamar Haber
369d8424d6 Helps CLIENT 2017-12-03 16:49:29 +02:00
antirez
5ac21dab66 Fix loading of RDB files lua AUX fields when the script is defined.
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.
2017-12-01 16:01:10 +01:00
antirez
54f7ea4c89 Streams: DEBUG DIGEST support. 2017-12-01 15:04:05 +01:00
antirez
11841e212a Streams: add code to compute the stream memory usage.
It's a bit of black magic without actually tracking it inside rax.c,
however Redis usage of the radix tree for the stream data structure is
quite consistent, so a few magic constants apparently are producing
results that make sense.
2017-12-01 12:50:27 +01:00
antirez
b404a1717f Streams: add some initial test for XREVRANGE. 2017-12-01 10:24:25 +01:00
antirez
e021e37571 Streams: fix lp-count field for non-same-fields entries. 2017-12-01 10:24:25 +01:00
antirez
8be81febcf Streams: XRANGE REV option -> XREVRANGE command. 2017-12-01 10:24:25 +01:00
antirez
326b8dbb83 Streams: fix reverse iterator discarding of items out of range. 2017-12-01 10:24:25 +01:00
antirez
f0bf5710cc Streams: fix reverse iteration next node jumping. 2017-12-01 10:24:25 +01:00
antirez
009c14e944 Streams: state machine for reverse iteration WIP 1. 2017-12-01 10:24:25 +01:00
antirez
effaf79518 Streams: augment stream entries to allow backward scanning. 2017-12-01 10:24:25 +01:00
antirez
917bf5f2e1 Streams: Update listpack to fix 32bit strings encoding error.
Note that streams produced by XADD in previous broken versions having
elements with 4096 bytes or more will be permanently broken and must be
created again from scratch.

Fix #4428
Fix #4349
2017-12-01 10:24:24 +01:00
antirez
ddf9ccefd2 Streams: fix COUNT parsing, issue #4433. 2017-12-01 10:24:24 +01:00
antirez
f32adf5307 Streams: fix redis-cli to understand the stream type. 2017-12-01 10:24:24 +01:00
antirez
54b3dc4992 Streams: fix TYPE for stream type. 2017-12-01 10:24:24 +01:00
antirez
0e6b2095ec Streams: fix XREAD test broken after previous tests improvements.
10% of times the data is not just "item 0" but there is also the
"otherfield" part. Use [lrange] to avoid the issue.
This commit fixes #4416.
2017-12-01 10:24:24 +01:00