3644 Commits

Author SHA1 Message Date
Salvatore Sanfilippo
1907d9b6f5 Merge pull request #2956 from pkulchenko/global-protection-msg-typo
Update global protection error message
2016-05-05 17:26:35 +02:00
Ruben Bridgewater
4ce1125d32 Fix commandCommand arity 2016-05-05 17:20:14 +02:00
Salvatore Sanfilippo
0b328e14c4 Merge pull request #2998 from danielhtshih/unstable
Fix a possible race condition of sdown event detection if sentinel's connection to master/slave/sentinel became disconnected just after the last PONG and before the next PING.
2016-05-05 17:16:58 +02:00
Salvatore Sanfilippo
a75b9659c5 Merge pull request #3006 from baishaofei/unstable
fix linux compile Error zmalloc.c:109: error: invalid lvalue in unary `&'
2016-05-05 16:23:47 +02:00
Salvatore Sanfilippo
4a33213cdb Merge pull request #3008 from badboy/fix-2911
Fix nanosecond conversion
2016-05-05 16:21:21 +02:00
antirez
4fe2256ca3 redis-cli: don't free historyfile, is used later. 2016-05-05 13:58:06 +02:00
antirez
f292056f5d Cluster: make getNodeByQuery() responsible of -CLUSTERDOWN errors.
This fixes a bug introduced by bb51ad0, and makes the code consistent
with the logic of always allowing, while the cluster is down, commands
that don't target any key.

As a side effect the code is also simpler now.
2016-05-05 11:33:43 +02:00
Salvatore Sanfilippo
06cf94b7af Merge pull request #3039 from itamarhaber/patch-3
Fixes a typo in the comments
2016-05-05 10:15:17 +02:00
Salvatore Sanfilippo
96b8e2868a Merge pull request #3077 from Palethorn/ipv6-redirect-parse
Fix for #3076 Reverse redirect address parse
2016-05-05 10:13:00 +02:00
antirez
a17f4ca56c Bind both IPv4 and IPv6 or exit with an error by default.
Thanks to @tushar2708 for the PR. I applied a slightly different fix.
Thanks to @cespare for reporting.

Close #3024
Close #3020
2016-05-05 10:02:42 +02:00
Chris Thunes
bb51ad0e97 Ensure slots are rechecked on EXEC.
Fixes #2515.
2016-05-05 09:35:20 +02:00
Salvatore Sanfilippo
3cf68cb168 Merge pull request #3188 from therealbill/unstable
maxmemory_policy fix for #3187
2016-05-05 09:02:25 +02:00
Salvatore Sanfilippo
47030aacab Merge pull request #3152 from be-hase/fix/check_open_slots
Fix redis-trib.rb
2016-05-05 08:56:28 +02:00
antirez
519f65b51e Minor redis-cli wording change in --help output. 2016-05-04 22:34:26 +02:00
antirez
dd8a3b013e Allow CONFIG GET during loading.
Thanks to @oranagra for the idea of allowing CONFIG GET during loading.
2016-05-04 15:45:45 +02:00
antirez
99a6bcda1b Command "r" flag removed from commands not accessing the key space.
Thanks to @oranagra for the hint about misplaced 'r' flags.
2016-05-04 15:42:33 +02:00
antirez
aa206616b9 DEBUG command self documentation. 2016-05-04 12:45:55 +02:00
Salvatore Sanfilippo
8f22e65c39 Merge pull request #3191 from oranagra/minor_fix
Minor fixes found during merge and code review
2016-05-04 09:11:36 +02:00
antirez
80887327fd Reply with error on negative geo radius.
Thanks to @tidwall for reporting.
Close #3194.
2016-05-04 09:00:32 +02:00
antirez
b813b501ef New masters with slots are now targets of migration if others are.
This fixes issue #3043.

Before this fix, after a complete resharding of a master slots
to other nodes, the master remains empty and the slaves migrate away
to other masters with non-zero nodes. However the old master now empty,
is no longer considered a target for migration, because the system has
no way to tell it had slaves in the past.

This fix leaves the algorithm used in the past untouched, but adds a
new rule. When a new or old master which is empty and without slaves,
are assigend with their first slot, if other masters in the cluster have
slaves, they are automatically considered to be targets for replicas
migration.
2016-05-02 18:37:30 +02:00
Oran Agra
7496636280 various cleanups and minor fixes 2016-04-25 16:49:57 +03:00
Oran Agra
0f82ba8236 dict.c minor optimization 2016-04-25 16:48:25 +03:00
Oran Agra
95c4a10a4e networking.c minor optimization 2016-04-25 16:48:09 +03:00
Oran Agra
5f47a16c14 add DEBUG JEMALLC PURGE and JEMALLOC INFO cleanup 2016-04-25 16:47:42 +03:00
Oran Agra
1c396991dc fix small issues in redis 3.2 2016-04-25 14:19:28 +03:00
Oran Agra
53670e9d2f additional fix to issue #2948 2016-04-25 14:18:40 +03:00
therealbill
85e3d50559 fix for #3187
I've renamed maxmemoryToString to evictPolicyToString since that is
more accurate (and easier to mentally connect with the correct data), as
well as updated the function to user server.maxmemory_policy rather than
server.maxmemory. Now with a default config it is actually returning
the correct policy rather than volatile-lru.
2016-04-22 10:43:48 -05:00
Damian Janowski
217f52ffe6 Fix ZINCRBY return value. 2016-04-18 00:35:54 -03:00
antirez
d63bc36021 ZREM refactored into proper API. 2016-04-15 15:20:57 +02:00
antirez
be3fcd7aca ZRANK refactored into proper API. 2016-04-15 12:47:03 +02:00
antirez
5410ab9574 zsetAdd() API exposed into server.h. 2016-04-14 16:00:08 +02:00
antirez
476144e730 ZADD refactored into a proper API. 2016-04-14 12:49:40 +02:00
antirez
92a7c777b6 redis-cli preferences and rc file support. 2016-04-13 14:20:41 +02:00
antirez
97664f58fc redis-cli help.h updated. 2016-04-13 12:35:18 +02:00
antirez
8b20c65419 redis-cli hints. 2016-04-13 12:34:14 +02:00
antirez
e5b0784bc2 ae.c: Fix delay until next timer event.
This fix was written by Anthony LaTorre.
The old code mis-calculated the amount of time to wait till next event.
2016-04-04 14:13:46 +02:00
antirez
dbe47b3958 ae.c: comment to explain why we have a useless maxId check. 2016-04-04 12:24:13 +02:00
antirez
b81ee25a22 Fix ae.c to avoid timers infinite loop.
This fix was suggested by Anthony LaTorre, that provided also a good
test case that was used to verify the fix.

The problem with the old implementation is that, the time returned by
a timer event (that is the time after it want to run again) is added
to the event *start time*. So if the event takes, in order to run, more
than the time it says it want to be scheduled again for running, an
infinite loop is triggered.
2016-04-04 08:50:58 +02:00
Ryosuke Hasebe
9149c48b3f fix variable 2016-03-30 23:09:36 +09:00
Ryosuke Hasebe
ccbb006467 fix check_open_slots 2016-03-30 21:56:22 +09:00
antirez
53ad30831f BITFIELD: Farest bit set is offset+bits-1. Off by one error fixed. 2016-03-02 16:20:28 +01:00
antirez
bb561c71a7 More BITFIELD fixes. Overflow conditional simplified.
See issue #3114.
2016-03-02 15:13:45 +01:00
Salvatore Sanfilippo
13860b407f Merge pull request #3118 from sunheehnus/bitfield-fix-minor-bug
bitops/bitfield: fix length, overflow condition and *sign
2016-03-02 15:12:38 +01:00
Sun He
524b28f864 bitops/bitfield: fix length, overflow condition and *sign 2016-03-02 18:11:30 +08:00
antirez
6d82a27995 Fix INFO commandstats reporting when argv is rewritten.
We want to report the original command in the stats, for example GEOADD,
even when what is actually executed is the ZADD implementation.
2016-03-02 08:56:50 +01:00
antirez
78a32d7f89 BITFIELD: refactoring & fix of retval on FAIL. 2016-02-29 09:08:46 +01:00
antirez
9d34efb3f5 BITFIELD: Fix #<index> form parsing. 2016-02-26 15:53:29 +01:00
antirez
b722e12f77 BITFIELD: Support #<index> offsets form. 2016-02-26 15:16:24 +01:00
antirez
5b3ab9d132 BITFIELD command initial implementation.
The new bitfield command is an extension to the Redis bit operations,
where not just single bit operations are performed, but the array of
bits composing a string, can be addressed at random, not aligned
offsets, with any width unsigned and signed integers like u8, s5, u10
(up to 64 bit signed integers and 63 bit unsigned integers).

The BITFIELD command supports subcommands that can SET, GET, or INCRBY
those arbitrary bit counters, with multiple overflow semantics.

Trivial and credits:

A similar command was imagined a few times in the past, but for
some reason looked a bit far fetched or not well specified.
Finally the command was proposed again in a clear form by
Yoav Steinberg from Redis Labs, that proposed a set of commands on
arbitrary sized integers stored at bit offsets.

Starting from this proposal I wrote an initial specification of a single
command with sub-commands similar to what Yoav envisioned, using short
names for types definitions, and adding control on the overflow.

This commit is the resulting implementation.

Examples:

    BITFIELD mykey OVERFLOW wrap INCRBY i2 10 -1 GET i2 10
2016-02-26 15:00:19 +01:00
Itamar Haber
8d04d2b6dd Eliminates engineers near the equator & prime meridian 2016-02-18 15:11:30 -08:00