7146 Commits

Author SHA1 Message Date
Salvatore Sanfilippo
e935c6dd5c Merge pull request #5115 from shenlongxing/patch-1
Delete unused role checking.
2018-07-12 19:07:40 +02:00
Shen Longxing
4cb47f2e97 Delete unused role checking.
When check rdb file, it is unnecessary to check role.
2018-07-12 21:21:37 +08:00
Salvatore Sanfilippo
26e7d33b2c Merge pull request #4820 from charpty/wip-serverc-simplify
Remove unnecessary return statements
2018-07-12 13:42:15 +02:00
antirez
fe41bc4ab1 Add regression test for #5111. 2018-07-12 13:35:17 +02:00
antirez
5d98cedeb1 Streams: when re-delivering because of SETID, reset deliveries counter.
We don't want to increment the deliveries here, because the sysadmin
reset the consumer group so the desire is likely to restart processing,
and having the PEL polluted with old information is not useful but
probably confusing.

Related to #5111.
2018-07-12 13:19:39 +02:00
antirez
eaf10517ec Simplify duplicated NACK #5112 fix.
We don't really need to distinguish between the case the consumer is the
same or is a different one.
2018-07-12 13:15:54 +02:00
Salvatore Sanfilippo
27229d1511 Merge pull request #5112 from 0xtonyxia/fix-xreadgroup-crash-after-setid
Streams: fix xreadgroup crash after xgroup SETID is sent.
2018-07-12 13:04:22 +02:00
Salvatore Sanfilippo
f094632d0c Merge pull request #5114 from oranagra/defrag_32
Active defrag fixes for 32bit builds (again)
2018-07-11 22:07:46 +02:00
Oran Agra
b18e55c498 Active defrag fixes for 32bit builds (again)
* overflow in jemalloc fragmentation hint to the defragger
2018-07-11 16:09:00 +03:00
Salvatore Sanfilippo
c765962f8c Merge pull request #4967 from JingchengLi/unstable
fix repeat argument issue and reduce unnessary loop times for redis-cli.
2018-07-10 15:13:20 +02:00
tengfeng
22c533560c fix repeat argument issue and reduce unnessary loop times for redis-cli. 2018-07-10 20:58:01 +08:00
antirez
1a5657ba73 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-07-10 12:06:44 +02:00
antirez
01d2f98f1e Streams: fix typo "consumer". 2018-07-10 12:04:31 +02:00
antirez
39ae0c9d43 Streams: fix new XREADGROUP sync logic. 2018-07-10 12:02:03 +02:00
antirez
a16c80b107 Streams: make blocking for > a truly special case.
To simplify the semantics of blocking for a group, this commit changes
the implementation to better match the description we provide of
conusmer groups: blocking for > will make the consumer waiting for new
elements in the group. However blocking for any other ID will always
serve the local history of the consumer.

However it must be noted that the > ID is actually an alias for the
special ID ms/seq of UINT64_MAX,UINT64_MAX.
2018-07-10 11:34:17 +02:00
antirez
498f3e67a7 Streams: send an error to consumers blocked on non-existing group.
To detect when the group (or the whole key) is destroyed to send an
error to the consumers blocked in such group is a problem, so we leave
the consumers listening, the sysadmin is free to create or destroy
groups assuming she/he knows what to do. However a client may be blocked
in a given consumer group, that is later destroyed. Then the stream
receives new elements. In that case there is no sane behavior to serve
the consumer... but to report an error about the group no longer
existing.

More about detecting this synchronously and why it is not done:

1. Normally we don't do that, we leave clients blocked for other data
types such as lists.

2. When we free a stream object there is no longer information about
what was the key it was associated with, so while destroying the
consumer groups we miss the info to unblock the clients in that moment.

3. Objects can be reclaimed in other threads where it is no longer safe
to do client operations.
2018-07-10 11:19:06 +02:00
antirez
feef1367c6 Streams: fix unblocking logic into a consumer group.
When a client blocks for a consumer group, we don't know the actual ID
we want to be served: other clients blocked in the same consumer group
may be served first, so the consumer group latest delivered ID changes.
This was not handled correctly, all the clients in the consumer group
were unblocked without data but the first.
2018-07-10 11:11:41 +02:00
dejun.xdj
4ba944c3eb Streams: fix xreadgroup crash after xgroup SETID is sent.
For issue #5111.
2018-07-10 16:26:13 +08:00
Salvatore Sanfilippo
e4d7cbfe2c Merge pull request #5095 from 0xtonyxia/fix-indentation
Fix indentation.
2018-07-09 13:56:39 +02:00
dejun.xdj
10255ac477 Bugfix: PEL is incorrect when consumer is blocked using xreadgroup with NOACK option.
Save NOACK option into client.blockingState structure.
2018-07-09 13:40:29 +02:00
antirez
28d5d87741 redis-cli: fix #4990 additional argument in help. 2018-07-09 13:36:47 +02:00
antirez
e938b8a1dd redis-cli: fix #5096 double error message. 2018-07-09 13:25:48 +02:00
antirez
375589d028 redis-cli: cliConnect() flags CC_FORCE and CC_QUIET.
We need CC_QUIET in order to fix #5096 by silently failing if needed.
2018-07-09 13:24:30 +02:00
Amit Dey
2a28f06a75 fixing broken link in CONTRIBUTING
http://help.github.com/send-pull-requests/ 
is no longer supported

this change modifies the link to the working one
https://help.github.com/articles/creating-a-pull-request/
2018-07-09 13:14:57 +02:00
dejun.xdj
5335463d44 CLIENT UNBLOCK: fix client unblock help message. 2018-07-09 13:03:57 +02:00
minkikim89
c37742de0e fix whitespace in redis-cli.c 2018-07-09 12:59:13 +02:00
WuYunlong
ad57103fed fix compile warning in addReplySubcommandSyntaxError 2018-07-09 12:57:12 +02:00
antirez
aefa752cf9 Use nolocks_localtime() for safer logging. 2018-07-04 16:50:22 +02:00
antirez
7604f6792f Cache timezone and daylight active flag for safer logging.
With such information will be able to use a private localtime()
implementation serverLog(), which does not use any locking and is both
thread and fork() safe.
2018-07-04 16:45:00 +02:00
antirez
3a6894cdd2 Localtime: clarify is_leap_year() working with comments. 2018-07-04 15:50:41 +02:00
antirez
e522dd5788 Localtime: fix comment about leap year. 2018-07-04 15:16:54 +02:00
antirez
6d1b29d7c6 Localtime: fix daylight saving adjustment. Use * not +. 2018-07-04 15:16:20 +02:00
antirez
fbd7290478 Localtime: fix daylight time documentation and computation. 2018-07-04 14:09:07 +02:00
dejun.xdj
aa62b5ebe9 Fix indentation. 2018-07-04 20:04:06 +08:00
antirez
d21c58867e Localtime: add a test main() function to check the output. 2018-07-04 13:46:31 +02:00
antirez
a72f9c1931 Localtime: day of month is 1 based. Convert from 0 based "days". 2018-07-04 13:35:40 +02:00
antirez
5caae0e6e9 Localtime: fix timezone adjustment. 2018-07-04 13:35:15 +02:00
antirez
ecba1a2fd4 Localtime: compute year, month and day of the month. 2018-07-04 13:25:55 +02:00
antirez
bb802969d7 Localtime: basics initial calculations. Year missing. 2018-07-04 13:16:53 +02:00
antirez
e8f72804f5 Localtime function skeleton and file added. 2018-07-04 12:56:12 +02:00
Jack Drogon
df7bafeb44 Fix typo 2018-07-03 18:19:46 +02:00
antirez
57dc5832a7 Clarify the pending_querybuf field of clients. 2018-07-03 13:25:41 +02:00
antirez
dc6c3bfe71 Improve style of PR #5084. 2018-07-03 13:23:29 +02:00
Salvatore Sanfilippo
4bcdfb0c5d Merge pull request #5084 from chendq8/pending-querybuf
limit the size of pending-querybuf in masterclient
2018-07-03 13:19:37 +02:00
antirez
32fc058177 Set repl_down_since to zero on state change.
PR #5081 fixes an "interesting" bug about Redis Cluster failover but in
general about the updating of repl_down_since, that is used in order to
count the time a slave was left disconnected from its master.

While the fix provided resolves the specific issue, in general the
validity of repl_down_since is limited to states that are different
than the state CONNECTED, and the disconnected time is set when the
state is DISCONNECTED. However from CONNECTED to other states, the state
machine must always go to DISCONNECTED first. So it makes sense to set
the field to zero (since it is meaningless in that context) when the
state is set to CONNECTED.
2018-07-03 12:42:14 +02:00
Salvatore Sanfilippo
c8110e814c Merge pull request #5081 from trevor211/fixClusterFailover
cluster failover bug
2018-07-03 12:36:53 +02:00
chendianqiang
0a32c93dd5 Merge branch 'unstable' into pending-querybuf 2018-07-03 10:07:26 +08:00
antirez
9f30306d44 addReplySubSyntaxError() renamed to addReplySubcommandSyntaxError(). 2018-07-02 18:49:34 +02:00
Salvatore Sanfilippo
e7b480369b Merge pull request #4998 from itamarhaber/module_command_help
Module command help
2018-07-02 18:46:56 +02:00
Salvatore Sanfilippo
b077de1862 Merge pull request #5071 from akshaynagpal/patch-2
Added link to Google Group
2018-07-02 18:41:58 +02:00