7200 Commits

Author SHA1 Message Date
zhaozhao.zz
357909d7dd do not delete expired keys in KEYS command 2018-10-19 18:00:57 +08:00
antirez
196555bf26 Fix again stack generation on the Raspberry Pi.
The fix was removed by f6627a3e6 attempting to fix the stack generation
on ARM64, without testing if it would still work on ARM32.
Now it should work both sides.
2018-10-19 10:39:57 +02:00
youjiali1995
e29c6573b9 migrate: fix mismatch of RESTORE reply when some keys have expired. 2018-10-18 18:57:51 +08:00
Itamar Haber
fbc22b4d21 Plugs a potential underflow 2018-10-17 19:33:11 +03:00
antirez
fc0e7b5e88 Streams: use bulk replies instead of status replies.
They play better with Lua scripting, otherwise Lua will see status
replies as "ok" = "string" which is very odd, and actually as @oranagra
reasoned in issue #5456 in the rest of the Redis code base there was no
such concern as saving a few bytes when the protocol is emitted.
2018-10-17 17:21:09 +02:00
Itamar Haber
ce6c8730a0 Corrects inline documentation of syntax 2018-10-17 16:13:55 +03:00
antirez
60f84c7776 Fix conditional in XGROUP. 2018-10-17 13:00:35 +02:00
antirez
f130bb13f0 Update help.h for redis-cli. 2018-10-17 12:57:21 +02:00
antirez
182e83b5c7 Fix XGROUP CREATE MKSTREAM handling of . 2018-10-17 12:10:52 +02:00
antirez
9a0cdbd59d Process MKSTREAM option of XGROUP CREATE at a later time.
This avoids issues with having to replicate a command that produced
errors.
2018-10-17 12:04:06 +02:00
antirez
6e6f322ee5 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-10-17 11:36:03 +02:00
antirez
34a57904f0 XGROUP CREATE: MKSTREAM option for automatic stream creation. 2018-10-17 11:27:27 +02:00
zhaozhao.zz
549b9142f6 MULTI: OOM err if cannot free enough memory in MULTI/EXEC context 2018-10-17 16:40:45 +08:00
Salvatore Sanfilippo
9388517487 Merge pull request #5333 from soloestoy/stream-commands-flag
Scripting & Streams: some commands need right flags
2018-10-17 07:50:32 +02:00
Damien Tournoud
8b3154a0ea Overhead is the allocated size of the AOF buffer, not its length 2018-10-16 11:47:42 -07:00
zhaozhao.zz
55e3c3680b Streams: rewrite empty streams with certain lastid 2018-10-16 23:47:27 +08:00
antirez
fbad47d606 Streams: rewrite empty streams with XADD MAXLEN 0. Use XSETID.
Related to #5426.
2018-10-16 16:48:31 +02:00
antirez
6d174778ab XSETID: accept IDs based on last entry.
Related to #5426.
2018-10-16 16:46:17 +02:00
antirez
8e399f0e01 Streams: XSTREAM SETID -> XSETID.
Keep vanilla stream commands at toplevel, see #5426.
2018-10-16 13:17:14 +02:00
Salvatore Sanfilippo
ff1b36c825 Merge pull request #5426 from soloestoy/feature-xstream
Bugfix data inconsistency after aof rewrite, and add XSTREAM command.
2018-10-16 13:10:36 +02:00
hujiecs
57e64d5e62 several typos fixed, optimize MSETNX to avoid unnecessary loop 2018-10-16 15:48:03 +08:00
Salvatore Sanfilippo
40010dea27 Merge pull request #5416 from halaei/fix-timer-selected-db
fix timer context selected database
2018-10-15 13:01:58 +02:00
antirez
af48edcc88 Make comment about nack->consumer test for minidle more obvious.
Related to #5437.
2018-10-15 12:01:17 +02:00
antirez
30b8f18f37 Streams: use propagate_last_id itself as streamPropagateGroupID trigger.
Avoid storing the dirty value. See #5437.
2018-10-15 11:52:24 +02:00
antirez
44e83f7d4a Streams: better naming: lastid_updated -> propagate_last_id.
See #5437 but also I updated a previous usage of the same var name.
2018-10-15 11:50:18 +02:00
Salvatore Sanfilippo
2713ff1b78 Merge pull request #5437 from soloestoy/fix-xclaim
Fix xclaim
2018-10-15 11:47:21 +02:00
antirez
edf0c99e1c Rax: radix tree updated to latest version from antirez/rax. 2018-10-13 14:17:38 +02:00
zhaozhao.zz
cd7aff80b7 Streams: panic if streamID invalid after check, should not be possible. 2018-10-11 21:46:47 +08:00
zhaozhao.zz
0da0f59614 Streams: propagate lastid in XCLAIM when it has effect 2018-10-11 21:44:20 +08:00
zhaozhao.zz
5c93403720 Streams: XCLAIM ignore minidle if NACK is created by FORCE
Because the NACK->consumer is NULL, if idletime < minidle
the NACK does not belong to any consumer, then redis will crash
in XPENDING.
2018-10-11 21:20:49 +08:00
zhaozhao.zz
fe09dc35de Streams: bugfix XCLAIM should propagate group name not consumer name 2018-10-11 21:12:09 +08:00
antirez
d27bd9b3a3 LOLWUT: capitalize Nees. 2018-10-11 13:00:55 +02:00
antirez
468d9eb027 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-10-10 12:51:39 +02:00
antirez
b10d99a13b Fix propagation of consumer groups last ID.
Issue #5433.
2018-10-10 12:51:02 +02:00
zhaozhao.zz
138e48f940 Avoid recreate write handler for protected client. 2018-10-09 20:34:11 +08:00
antirez
b6b7304f00 Free protected clients asynchronously.
Related to #4840.

Note that when we re-enter the event loop with aeProcessEvents() we
don't process timers, nor before/after sleep callbacks, so we should
never end calling freeClientsInAsyncFreeQueue() when re-entering the
loop.
2018-10-09 13:28:51 +02:00
antirez
8401773272 Actually use the protectClient() API where needed.
Related to #4804.
2018-10-09 13:18:52 +02:00
antirez
4e851f8044 Introduce protectClient() + some refactoring.
The idea is to have an API for the cases like -BUSY state and DEBUG
RELOAD where we have to manually deinstall the read handler.
See #4804.
2018-10-09 13:15:41 +02:00
Salvatore Sanfilippo
1b7bab98b8 Merge pull request #4804 from soloestoy/fix-debug-load
debug: avoid free client unexpectedly when reload & loadaof
2018-10-09 12:56:08 +02:00
antirez
a09ffe6c25 aof.c: improve indentation and change warning message.
Related to #5201.

I removed the !!! Warning part since compared to the other errors, a
missing EXEC is in theory a normal happening in the AOF file, at least
in theory: may happen in a differnet number of situations, and it's
probably better to don't give the user the feeling that something really
bad happened.
2018-10-09 11:51:04 +02:00
Salvatore Sanfilippo
12fd6fb75f Merge pull request #5201 from soloestoy/abort-if-lost-exec-aof-load
AOF: discard if we lost EXEC when loading aof
2018-10-09 11:47:04 +02:00
zhaozhao.zz
fb4d2d5cfc Streams: rewrite id in XSTREAM CREATE * 2018-10-09 16:22:30 +08:00
zhaozhao.zz
929492a4b6 Stream & AOF: rewrite stream in correct way 2018-10-09 15:40:20 +08:00
zhaozhao.zz
7e2c73d79b Streams: add a new command XTREAM
XSTREAM CREATE <key> <id or *> -- Create a new empty stream.
XSTREAM SETID <key> <id or $>  -- Set the current stream ID.
2018-10-09 13:11:04 +08:00
antirez
306407c6a5 Refactoring of XADD / XTRIM MAXLEN rewriting.
See #5141.
2018-10-08 12:05:22 +02:00
Salvatore Sanfilippo
06219d42d9 Merge pull request #5141 from soloestoy/fix-xtrim-inconsistency
Fix XTRIM and XADD with MAXLEN inconsistency
2018-10-08 12:00:00 +02:00
O(ʒ)
aa137f5498 Fix typo 2018-10-07 13:37:58 +02:00
antirez
a6e595c778 Fix typo in replicationCron() comment. 2018-10-05 18:30:45 +02:00
antirez
7a7996b71f Fix typo in design comment of bio.c. 2018-10-05 18:29:23 +02:00
antirez
8c7dcff7e8 xclaimCommand(): fix comment typos. 2018-10-04 17:34:06 +02:00