6865 Commits

Author SHA1 Message Date
shenlongxing
a35bf3f130 Fix write() errno error 2018-06-06 13:06:42 +02:00
antirez
af566a2118 Fix streamIteratorRemoveEntry() to update elements count.
Close #4989.
2018-06-06 11:40:22 +02:00
antirez
2c08c2d425 ZPOP: invert score-ele to match ZRANGE WITHSCORES order. 2018-06-05 17:06:25 +02:00
antirez
a1e29c6531 Remove XINFO <key> special form.
As observed by Michael Grunder this usage while practical is
inconsistent because for instance it does not work against a key called
HELP. Removed.
2018-06-05 16:34:34 +02:00
antirez
5fa21cf817 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-06-04 17:30:11 +02:00
antirez
ca42e42860 XGROUP SETID implemented + consumer groups core fixes.
Now that we have SETID, the inetrnals of consumer groups should be able
to handle the case of the same message delivered multiple times just
as a side effect of calling XREADGROUP. Normally this should never
happen but if the admin manually "XGROUP SETID mykey mygroup 0",
messages will get re-delivered to clients waiting for the ">" special
ID. The consumer groups internals were not able to handle the case of a
message re-delivered in this circumstances that was already assigned to
another owner.
2018-06-04 17:28:03 +02:00
antirez
5684d0d85e Rax library updated. 2018-06-04 17:26:16 +02:00
Salvatore Sanfilippo
9853fc0589 Merge pull request #4981 from yossigo/gcc7
Clean gcc 7.x warnings, redis-cli cluster fix.
2018-06-04 17:18:39 +02:00
antirez
0dbc74bd00 XGROUP DESTROY implemented. 2018-06-04 12:58:26 +02:00
Yossi Gottlieb
0d31bff735 Clean gcc 7.x warnings, redis-cli cluster fix. 2018-06-03 15:54:30 +03:00
Salvatore Sanfilippo
d74420bcd9 Merge pull request #4907 from youjiali1995/fix-dictScan
Fix dictScan(): It can't scan all buckets when dict is shrinking.
2018-06-01 16:54:05 +02:00
artix
f84963d0f9 Cluster Manager: fixed master_id check in clusterManagerNodeLoadInfo 2018-06-01 16:19:47 +02:00
Salvatore Sanfilippo
da60e5d699 Merge pull request #4971 from soloestoy/bugfix-bzpop
ZPOP: unblock multiple clients in right way
2018-05-31 18:40:53 +02:00
zhaozhao.zz
4e16144569 ZPOP: unblock multiple clients in right way 2018-05-31 23:35:47 +08:00
Salvatore Sanfilippo
59884e58d3 Merge pull request #4945 from GitHubMota/debug_recover
Fix debug crash-and-recover help info.
2018-05-31 17:32:11 +02:00
Salvatore Sanfilippo
bd1cba552f Merge pull request #4953 from soloestoy/fix-memory-overhead
MEMORY: fix the missing of monitor clients buffers
2018-05-31 17:31:24 +02:00
Salvatore Sanfilippo
c40eb09201 Merge pull request #4964 from remicollet/issue-uint64
include stdint.h for unit64_t definition
2018-05-31 17:20:33 +02:00
antirez
eb71d70571 Capitalize OBJECT HELP subcommands. 2018-05-31 17:11:46 +02:00
artix
7a0c183d21 Cluster Manager: fixed infinite loop in rebalance (Issue #4941). 2018-05-31 15:59:16 +02:00
Remi Collet
3e941c79fb include stdint.h for unit64_t definition 2018-05-30 15:33:06 +02:00
antirez
71f1556f0e Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-05-29 12:41:07 +02:00
antirez
96c5bd2043 Don't expire keys while loading RDB from AOF preamble.
The AOF tail of a combined RDB+AOF is based on the premise of applying
the AOF commands to the exact state that there was in the server while
the RDB was persisted. By expiring keys while loading the RDB file, we
change the state, so applying the AOF tail later may change the state.

Test case:

* Time1: SET a 10
* Time2: EXPIREAT a $time5
* Time3: INCR a
* Time4: PERSIT A. Start bgrewiteaof with RDB preamble. The value of a is 11 without expire time.
* Time5: Restart redis from the RDB+AOF: consistency violation.

Thanks to @soloestoy for providing the patch.
Thanks to @trevor211 for the original issue report and the initial fix.

Check issue #4950 for more info.
2018-05-29 12:37:42 +02:00
WuYunlong
4a80f44955 Fix rdb save by allowing dumping of expire keys, so that when
we add a new slave, and do a failover, eighter by manual or
not, other local slaves will delete the expired keys properly.
2018-05-29 12:35:15 +02:00
zhaozhao.zz
562a2931e7 MEMORY: fix the missing of monitor clients buffers 2018-05-27 16:34:58 +08:00
antirez
a40bd92df3 Streams: fix comments referring to old ID format. 2018-05-25 17:25:19 +02:00
Salvatore Sanfilippo
8c4c2b7eb6 Merge pull request #4948 from soloestoy/avoid-warning-stream
avoid warning in t_stream.c
2018-05-25 17:00:46 +02:00
antirez
5b69ad6e6d Streams: fix test ID format. 2018-05-25 16:57:08 +02:00
zhaozhao.zz
04960217ad avoid warning in t_stream.c 2018-05-25 22:49:49 +08:00
antirez
6830220c90 Backport hiredis issue 525 fix to compile on FreeBSD.
Close #4947.
2018-05-25 16:33:23 +02:00
antirez
d288a836f2 Simplify XADD ID syntax error code path,. 2018-05-25 16:29:37 +02:00
Salvatore Sanfilippo
af6f8eff4a Merge pull request #4832 from 0xtonyxia/fix-xadd-ID-parse
Bugfix: xadd command ID parse
2018-05-25 16:27:21 +02:00
antirez
f27e9db3a4 Avoid warning by explicitly initializing var to NULL. 2018-05-25 16:19:14 +02:00
antirez
f2bd31a1c4 Explicitly cast void pointers to char pointers for printf style logging. 2018-05-25 16:15:59 +02:00
Salvatore Sanfilippo
3f1e64a882 Merge pull request #4946 from soloestoy/linux-make-lrt
append -lrt to FINAL_LIBS for linux
2018-05-25 16:12:19 +02:00
zhaozhao.zz
89736e5820 append -lrt to FINAL_LIBS for linux 2018-05-25 20:16:57 +08:00
antirez
b2ea616e46 Don't append libjemalloc.a otherwise it will be after -ldl. 2018-05-25 13:36:51 +02:00
Mota
a971a34d65 Fix debug crash-and-recover help info. 2018-05-25 16:49:23 +08:00
antirez
8c4fdd3936 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-05-24 18:21:23 +02:00
antirez
5b1a603cd3 Generate configure for Jemalloc. 2018-05-24 18:21:13 +02:00
antirez
9108bbab07 Make active defragmentation tests optional.
They failed when active defrag could not be activated because the
Jemalloc version does not include the additional APIs.
2018-05-24 18:04:21 +02:00
antirez
5de964e147 Add --with-version in Jemalloc config script. 2018-05-24 17:50:12 +02:00
antirez
c2430f8571 Specify that Jemalloc configure requires version. 2018-05-24 17:49:36 +02:00
antirez
e3d1823414 Jemalloc upgraded to version 5.0.1. 2018-05-24 17:17:37 +02:00
antirez
9fba9c9701 Update documentation about how to upgrade Jemalloc. 2018-05-24 17:16:12 +02:00
Salvatore Sanfilippo
9af67047c5 Merge pull request #4099 from JunHe77/aarch64_stack_cflag
Fixed stack trace generation on aarch64
2018-05-24 16:16:12 +02:00
Salvatore Sanfilippo
9cfb245be3 Merge pull request #4932 from 0xtonyxia/fix-redis-cli-set-prefer-memory-leak
Fix redis-cli memory leak when sending set :preference command.
2018-05-24 16:15:21 +02:00
Salvatore Sanfilippo
6cd1c5b5f7 Merge pull request #4922 from 0xtonyxia/enhance-cli-security
Enhance security for redis-cli
2018-05-24 16:14:42 +02:00
Salvatore Sanfilippo
f30ecc4de2 Merge pull request #4831 from 0xtonyxia/fix-xadd-arity-check
Bugfix: xadd comand <field,value> arity check
2018-05-24 16:07:19 +02:00
antirez
afe2551321 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-05-23 17:14:59 +02:00
antirez
0a6019e289 Sentinel: fix delay in detecting ODOWN.
See issue #2819 for details. The gist is that when we want to send INFO
because we are over the time, we used to send only INFO commands, no
longer sending PING commands. However if a master fails exactly when we
are about to send an INFO command, the PING times will result zero
because the PONG reply was already received, and we'll fail to send more
PINGs, since we try only to send INFO commands: the failure detector
will delay until the connection is closed and re-opened for "long
timeout".

This commit changes the logic so that we can send the three kind of
messages regardless of the fact we sent another one already in the same
code path. It could happen that we go over the message limit for the
link by a few messages, but this is not significant. However now we'll
not introduce delays in sending commands just because there was
something else to send at the same time.
2018-05-23 17:13:44 +02:00