4386 Commits

Author SHA1 Message Date
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
Itamar Haber
12e20755f6 Fixes a typo in a comment 2016-02-18 15:01:34 -08:00
Itamar Haber
65c3e7353d Adjusts accuracy for GEODIST 2016-02-18 15:00:39 -08:00
antirez
f33d9bd114 addReplyHumanLongDouble() API added.
Send a long double or double as a bulk reply, in a human friendly
format.
2016-02-18 22:08:50 +01:00
antirez
416adf1a9c New options for GEORADIUS: STORE and STOREDIST.
Related to issue #3019.
2016-02-18 10:24:16 +01:00
antirez
26e5f3ff33 Include full paths on RDB/AOF files errors.
Close #3086.
2016-02-15 16:15:01 +01:00
David Cavar
5174fcdf94 Reverse redirect address parse
Fix issue in case the redirect address is in ipv6 format. Parse from behind to extract last part of the response which represents actual port.
2016-02-09 15:04:42 +01:00
Itamar Haber
7bfe0f41c8 Fixes a typo 2016-02-03 11:04:09 -08:00
Itamar Haber
bfd072e7d3 Adds keyspace notifications for lrem 2016-02-02 09:58:19 -08:00
antirez
efdd050581 Cluster: redis-trib: support @busport format in ClusterNode. 2016-02-02 08:27:36 +01:00
antirez
815d9b5dc7 Cluster: store busport with different separator in CLUSTER NODES.
We need to be able to correctly parse the node address in the case of
IPv6 addresses.
2016-02-02 08:20:04 +01:00
antirez
40ff86ee34 Cluster announce: WIP, allow building again. 2016-02-01 18:16:25 +01:00