6903 Commits

Author SHA1 Message Date
Salvatore Sanfilippo
1e15565b37 Merge pull request #5007 from leonchen83/patch-2
fix typo issue #5005
2018-06-12 09:28:26 +02:00
antirez
2e9812bf9c Streams: increment dirty counter for XGROUP SETID/DESTROY.
See issue #5005 comments.
2018-06-12 09:27:40 +02:00
Baoyi Chen
200f4e28ad fix typo
fix [#5005](https://github.com/antirez/redis/issues/5005)
2018-06-12 08:52:18 +08:00
antirez
159347cef1 Use a less aggressive query buffer resize policy.
A user with many connections (10 thousand) on a single Redis server
reports in issue #4983 that sometimes Redis is idle becuase at the same
time many clients need to resize their query buffer according to the old
policy.

It looks like this was created by the fact that we allow the query
buffer to grow without problems to a size up to PROTO_MBULK_BIG_ARG
normally, but when the client is idle we immediately are more strict,
and a query buffer greater than 1024 bytes is already enough to trigger
the resize. So for instance if most of the clients stop at the same time
this issue should be easily triggered.

This behavior actually looks odd, and there should be only a clear limit
after we say, let's look at this query buffer to check if it's time to
resize it. This commit puts the limit at PROTO_MBULK_BIG_ARG, and the
check is performed both if compared to the peak usage the current usage
is too big, or if the client is idle.

Then when the check is performed, to waste just a few kbytes is
considered enough to proceed with the resize. This should fix the issue.
2018-06-11 17:12:28 +02:00
antirez
10c4c45137 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-06-11 16:52:45 +02:00
antirez
e2f96f3eab Fix client unblocking for XREADGROUP, issue #4978.
We unblocked the client too early, when the group name object was no
longer valid in client->bpop, so propagating XCLAIM later in
streamPropagateXCLAIM() deferenced a field already set to NULL.
2018-06-11 16:51:06 +02:00
Salvatore Sanfilippo
d762172729 Merge pull request #5000 from shenlongxing/fix-config
fix integer case error
2018-06-11 16:34:26 +02:00
Salvatore Sanfilippo
17a42cc769 Merge pull request #4995 from shenlongxing/unstable
fix stream config typo
2018-06-11 16:33:38 +02:00
Salvatore Sanfilippo
b578ab0bf4 Merge pull request #5002 from soloestoy/streams-read-or-write
Streams: lookupKey[Read->Write]OrReply in xdel and xtrim
2018-06-11 16:33:10 +02:00
Salvatore Sanfilippo
f49b7e0d1d Merge pull request #4901 from KFilipek/zmalloc_typo_fix
HW_PHYSMEM typo in preprocessor condition
2018-06-11 16:32:40 +02:00
Salvatore Sanfilippo
e54b49ac4c Merge pull request #5003 from soloestoy/streams-checkType
Streams: checkType for xread & xinfo
2018-06-11 16:32:00 +02:00
Salvatore Sanfilippo
73fef1b0b8 Merge pull request #5001 from michael-grunder/xgroup-check-type
Abort in XGROUP if the key is not a stream
2018-06-11 16:30:49 +02:00
antirez
a78b99890e Improved regression test for #4906.
Removing the fix about 50% of the times the test will not be able to
pass cleanly. It's very hard to write a test that will always fail, or
actually, it is possible but then it's likely that it will consistently
pass if we change some random bit, so better to use randomization here.
2018-06-11 13:10:06 +02:00
antirez
3161c7248d Regression test for the dictScan() issue #4906. 2018-06-11 12:51:26 +02:00
zhaozhao.zz
83bb4a0dff Streams: checkType for xread & xinfo 2018-06-11 01:17:52 +08:00
zhaozhao.zz
b47471880d Streams: lookupKey[Read->Write]OrReply in xdel and xtrim 2018-06-11 00:14:17 +08:00
michael-grunder
efcc676b0b Abort in XGROUP if the key is not a stream 2018-06-10 08:55:58 -07:00
shenlongxing
6e6c13123e fix integer case error 2018-06-09 22:24:33 +08:00
Salvatore Sanfilippo
b7df488618 Merge pull request #4519 from soloestoy/zset-int-problem
Zset int problem
2018-06-08 12:45:11 +02:00
Salvatore Sanfilippo
980969ec59 Merge pull request #4800 from soloestoy/dict-expand
adjust position of _dictNextPower in dictExpand
2018-06-08 12:32:18 +02:00
Salvatore Sanfilippo
5ff23db284 Merge pull request #4861 from soloestoy/rdb-dict-expand
RDB: expand dict if needed when rdb load object
2018-06-08 12:12:34 +02:00
antirez
d2c353280e Implement DEBUG htstats-key. 2018-06-08 11:17:20 +02:00
antirez
08da518c19 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-06-08 11:02:30 +02:00
antirez
52e4b9eda3 redis-cli inline help updated. 2018-06-07 18:53:00 +02:00
antirez
8fe34cec06 Add the stream group to the script generating the help. 2018-06-07 18:52:01 +02:00
Salvatore Sanfilippo
ac0b8125e0 Merge pull request #4977 from michael-grunder/xpending-early-return
Return early in XPENDING if sent a nonexistent consumer group.
2018-06-07 18:49:09 +02:00
shenlongxing
bce0072026 fix stream config typo 2018-06-07 23:13:36 +08:00
antirez
10a88d5c86 Streams: better document the max node limits. 2018-06-07 14:37:56 +02:00
antirez
664cfb8d6b Typo: entires -> entries in several places. 2018-06-07 14:36:56 +02:00
antirez
5c7bda3752 Streams: make macro node limits configurable. 2018-06-07 14:36:13 +02:00
antirez
80f89e0634 Streams: max node limits only checked if non zero. 2018-06-07 14:30:25 +02:00
antirez
89435af570 Streams: use non static macro node limits.
Also add the concept of size/items limit, instead of just having as
limit the number of bytes.
2018-06-07 14:24:49 +02:00
shenlongxing
c6c03ee21f Fix write() errno error 2018-06-06 13:06:42 +02:00
antirez
3406400ae0 Fix streamIteratorRemoveEntry() to update elements count.
Close #4989.
2018-06-06 11:40:22 +02:00
antirez
c8d43b84d8 ZPOP: invert score-ele to match ZRANGE WITHSCORES order. 2018-06-05 17:06:25 +02:00
antirez
d3b425470b 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
7932b157c2 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-06-04 17:30:11 +02:00
antirez
ff7cb41475 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
0f1448f9c3 Rax library updated. 2018-06-04 17:26:16 +02:00
Salvatore Sanfilippo
45ab995a3a 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
226712b467 XGROUP DESTROY implemented. 2018-06-04 12:58:26 +02:00
Yossi Gottlieb
7c24f28f24 Clean gcc 7.x warnings, redis-cli cluster fix. 2018-06-03 15:54:30 +03:00
michael-grunder
ac6bb9ff05 Return early in XPENDING if sent a nonexistent consumer group. 2018-06-02 18:22:20 -07:00
Salvatore Sanfilippo
5418bfb8e8 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
f5dad061ee Cluster Manager: fixed master_id check in clusterManagerNodeLoadInfo 2018-06-01 16:19:47 +02:00
Salvatore Sanfilippo
252cf5e319 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
f0e81aff07 ZPOP: unblock multiple clients in right way 2018-05-31 23:35:47 +08:00
Salvatore Sanfilippo
d4c28bc485 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
927b581838 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
75fa316cfd Merge pull request #4964 from remicollet/issue-uint64
include stdint.h for unit64_t definition
2018-05-31 17:20:33 +02:00