Commit Graph

7547 Commits

Author SHA1 Message Date
zhaozhao.zz 4dc48a0d11 Streams: bugfix XCLAIM should propagate group name not consumer name 2018-10-11 21:12:09 +08:00
antirez 91685eeeb1 LOLWUT: capitalize Nees. 2018-10-11 13:00:55 +02:00
antirez fbfd61b471 Test: cgroup propagation test also for NOACK variant.
Related to #5433.
2018-10-10 17:37:41 +02:00
antirez cfad5e4587 Test: consumer group last ID slave propagation test.
This is a regression for #5433.
2018-10-10 17:32:17 +02:00
antirez 1048b5d13a Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-10-10 12:51:39 +02:00
antirez c9d9ae7baa Fix propagation of consumer groups last ID.
Issue #5433.
2018-10-10 12:51:02 +02:00
antirez 4eedb0bf94 changelog.tcl: get optional argument for number of commits. 2018-10-10 11:03:36 +02:00
Salvatore Sanfilippo 29bfe4655c
Merge pull request #5428 from soloestoy/client-protected
Avoid recreate write handler for protected client.
2018-10-09 18:02:56 +02:00
zhaozhao.zz 35b7296ff4 Avoid recreate write handler for protected client. 2018-10-09 20:34:11 +08:00
antirez 8e2bbe9105 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 929c686cce Actually use the protectClient() API where needed.
Related to #4804.
2018-10-09 13:18:52 +02:00
antirez 69c30965eb 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 6660458a4c
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 db86dfb985 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 1a476b69ad
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 480e299436 Streams: rewrite id in XSTREAM CREATE * 2018-10-09 16:22:30 +08:00
zhaozhao.zz 3094eb3626 Streams: add tests for aof rewrite 2018-10-09 15:45:58 +08:00
zhaozhao.zz b3e80d2f65 Stream & AOF: rewrite stream in correct way 2018-10-09 15:40:20 +08:00
zhaozhao.zz 5f3adbee33 Streams: add tests for XSTREAM command 2018-10-09 15:21:08 +08:00
zhaozhao.zz ec511fa709 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 3e78344d87 Refactoring of XADD / XTRIM MAXLEN rewriting.
See #5141.
2018-10-08 12:05:22 +02:00
Salvatore Sanfilippo e5f1de1448
Merge pull request #5141 from soloestoy/fix-xtrim-inconsistency
Fix XTRIM and XADD with MAXLEN inconsistency
2018-10-08 12:00:00 +02:00
Salvatore Sanfilippo 8507c3f26e
Merge pull request #5422 from ziyasal/patch-1
Fix typo in the comment of raxSeekGreatest function
2018-10-08 11:34:42 +02:00
O(ʒ) 534c3bc21a
Fix typo 2018-10-07 13:37:58 +02:00
antirez 3d07ed983e Fix typo in replicationCron() comment. 2018-10-05 18:30:45 +02:00
antirez ce8b6ede34 Fix typo in design comment of bio.c. 2018-10-05 18:29:23 +02:00
antirez 68c0e6e331 xclaimCommand(): fix comment typos. 2018-10-04 17:34:06 +02:00
Hamid Alaei 87264235cc fix timer context selected database 2018-10-04 17:02:10 +03:30
antirez 32e0d2376f streamAppendItem(): Update the radix tree pointer only if changed. 2018-10-02 19:45:33 +02:00
antirez 9d4f51e1ff Listpack: optionally force reallocation on inserts.
This is useful in order to spot bugs where we fail
at updating the pointer returned by the insertion
function. Normally often the same pointer is returned,
making it harder than needed to spot bugs.

Related to #5210.
2018-10-02 19:37:36 +02:00
antirez 73a78adf13 Fix printf type mismatch in genRedisInfoString(). 2018-10-02 16:26:30 +02:00
antirez c7c3b23787 streamIteratorRemoveEntry(): set back lp only if pointer changed.
Most of the times the pointer will remain the same since integers of
similar size don't take more space in listpacks.

Related to #5210.
2018-10-02 16:20:40 +02:00
Salvatore Sanfilippo 9fe7cd8f14
Merge pull request #5210 from soloestoy/raxinsert-in-xdel
Streams: update listpack with new pointer in XDEL
2018-10-02 16:18:55 +02:00
Salvatore Sanfilippo 2b09884faf
Merge pull request #5392 from soloestoy/bugfix-brpoplpush
bugfix: replace lastcmd with cmd when rewrite BRPOPLPUSH as RPOPLPUSH
2018-10-02 16:09:22 +02:00
Salvatore Sanfilippo e19a06d2dd
Merge pull request #5242 from oranagra/script_mem
script cache memory in INFO and MEMORY includes both script code and overheads
2018-10-02 16:03:05 +02:00
Salvatore Sanfilippo fe43406929
Merge pull request #5397 from bmerry/fix-bad-zmalloc-size
Fix invalid use of sdsZmallocSize on an embedded string
2018-10-01 13:30:42 +02:00
Salvatore Sanfilippo 9ce638695c
Merge pull request #5398 from bmerry/fix-zrealloc-accounting
Fix incorrect memory usage accounting in zrealloc
2018-10-01 13:28:53 +02:00
Salvatore Sanfilippo cd2ee8b113
Merge pull request #5396 from oranagra/cmdstats_exec
fix #5024 - commandstats for multi-exec were logged as EXEC.
2018-10-01 13:24:49 +02:00
Salvatore Sanfilippo 1da93f85cc
Merge pull request #5400 from halaei/fix-dict-get-on-not-found
fix dict get on not found
2018-10-01 13:22:33 +02:00
Hamid Alaei 86fb7b20bf fix dict get on not found 2018-10-01 13:57:25 +03:30
antirez 9e0e5ccbf4 Fix XINFO comment for consistency. 2018-10-01 11:38:58 +02:00
Bruce Merry 8fd1031b10 Fix incorrect memory usage accounting in zrealloc
When HAVE_MALLOC_SIZE is false, each call to zrealloc causes used_memory
to increase by PREFIX_SIZE more than it should, due to mis-matched
accounting between the original zmalloc (which includes PREFIX size in
its increment) and zrealloc (which misses it from its decrement).

I've also supplied a command-line test to easily demonstrate the
problem. It's not wired into the test framework, because I don't know
TCL so I'm not sure how to automate it.
2018-09-30 11:49:03 +02:00
Oran Agra f03aed3ca9 fix #5024 - commandstats for multi-exec were logged as EXEC.
this was broken a while back by ba9154d7e7
the purpose of which was to fix commandstats for GEOADD
2018-09-30 12:43:11 +03:00
Bruce Merry ecc48369ce Fix invalid use of sdsZmallocSize on an embedded string
sdsZmallocSize assumes a dynamically allocated SDS. When given a string
object created by createEmbeddedStringObject, it calls zmalloc_size on a
pointer that isn't the one returned by zmalloc
2018-09-30 11:32:48 +02:00
antirez 08c26591e3 Try to avoid issues with GCC pragmas and older compilers.
See issue #5394.
2018-09-28 13:00:44 +02:00
zhaozhao.zz fc9b4e7958 bugfix: replace lastcmd with cmd when rewrite BRPOPLPUSH as RPOPLPUSH
There are two problems if we use lastcmd:

1. BRPOPLPUSH cannot be rewrited as RPOPLPUSH in multi/exec
    In mulit/exec context, the lastcmd is exec.
2. Redis will crash when execute RPOPLPUSH loading from AOF
    In fakeClient, the lastcmd is NULL.
2018-09-28 12:06:48 +08:00
Andrey Bugaevskiy 466c277b4f Move child termination to readSyncBulkPayload 2018-09-27 19:38:58 +03:00
antirez 5aa347b377 Modules: hellodict example WIP #3: KEYRANGE. 2018-09-27 17:01:35 +02:00
antirez 0aecb135c9 Modules: Modules: dictionary API WIP #13: Compare API exported. 2018-09-27 11:46:22 +02:00
antirez 80bde9844b Modules: Modules: dictionary API WIP #12: DictCompare API. 2018-09-27 11:44:25 +02:00