7859 Commits

Author SHA1 Message Date
antirez
380191c2a9 RESP3: blocked.c updated. 2019-01-09 17:00:29 +01:00
antirez
e4ce88afe2 RESP3: sentinel.c updated. 2019-01-09 17:00:29 +01:00
antirez
9640ac19ef RESP3: bitops.c updated. 2019-01-09 17:00:29 +01:00
antirez
c8304b099d RESP3: most null replies converted. 2019-01-09 17:00:29 +01:00
antirez
29bbe91392 RESP3: addReplyNull() added. 2019-01-09 17:00:29 +01:00
antirez
e30fef5d8a RESP3: remove other pointless shared object. 2019-01-09 17:00:29 +01:00
antirez
5ebe3268ed RESP3: remove certain constants to spot places to fix. 2019-01-09 17:00:29 +01:00
antirez
a7a1ae025e RESP3: Scripting RESP3 mode set/map protocol -> Lua conversion. 2019-01-09 17:00:29 +01:00
antirez
b8e804396f RESP3: Fix API in scripting.c leaving Lua conversions RESP2. 2019-01-09 17:00:29 +01:00
antirez
0a5901d625 RESP3: Use new aggregate reply API in slowlog.c. 2019-01-09 17:00:29 +01:00
antirez
e95f9b664c RESP3: Use new aggregate reply API in t_set.c. 2019-01-09 17:00:29 +01:00
antirez
43ee60204f RESP3: Use new aggregate reply API in cluster.c. 2019-01-09 17:00:29 +01:00
antirez
5b6637e44d RESP3: Make WITHSCORES reply back with a flat array in RESP2. 2019-01-09 17:00:29 +01:00
antirez
711abc03f1 RESP3: Use new deferred len API in object.c. 2019-01-09 17:00:29 +01:00
antirez
56c95799a3 RESP3: bring RESP2 compatibility to previous changes. 2019-01-09 17:00:29 +01:00
antirez
e6a467814a RESP3: addReply*Len() support for RESP2 backward comp. 2019-01-09 17:00:29 +01:00
antirez
9325d288f6 RESP3: put RESP version in the client structure. 2019-01-09 17:00:29 +01:00
antirez
880faa64ac RESP3: Use new API and types in t_hash.c. 2019-01-09 17:00:29 +01:00
antirez
293659ae04 RESP3: Use new deferred len API in dict.c. 2019-01-09 17:00:29 +01:00
antirez
dbe9cff831 RESP3: Use new deferred len API in config.c. 2019-01-09 17:00:29 +01:00
antirez
3d614c05d9 RESP3: Use new deferred len API in t_zset.c. 2019-01-09 17:00:29 +01:00
antirez
dabbe41451 RESP3: Use new deferred len API in t_string.c. 2019-01-09 17:00:29 +01:00
antirez
166cdd3583 RESP3: Use new deferred len API in replication.c. 2019-01-09 17:00:29 +01:00
antirez
036e10dcb9 RESP3: Use new deferred len API in server.c. 2019-01-09 17:00:29 +01:00
antirez
689949fb30 RESP3: Aggregate deferred lengths functions. 2019-01-09 17:00:29 +01:00
antirez
7b7a468949 RESP3: Double replies and aggregate lengths initial functions. 2019-01-09 17:00:29 +01:00
Salvatore Sanfilippo
9f70022e85 Merge pull request #5746 from UmanShahzad/old-geohash-docs
Remove documentation about geohash-int in deps repo.
2019-01-09 10:12:09 +01:00
Salvatore Sanfilippo
65187eec8a Merge pull request #5729 from artix75/cluster_manager_fix_cmd
Cluster Manager del-node: use CLUSTER RESET in place of SHUTDOWN
2019-01-09 10:11:27 +01:00
Salvatore Sanfilippo
163e8b1740 Merge pull request #5751 from chenyang8094/unstable
Update ae.c
2019-01-09 10:10:53 +01:00
chenyangyang
ce87de9682 Update ae.c
Update comment
2019-01-06 15:01:25 +08:00
Uman Shahzad
188b698989 Remove documentation about geohash-int in deps repo. 2019-01-03 19:12:45 +05:00
Angus Pearson
462396d594 Add comment explaining negative repeat 2019-01-02 19:28:04 +00:00
Angus Pearson
d5facb4753 Fix broken interval and repeat bahaviour in redis-cli (incluing cluster mode)
This addresses two problems, one where infinite (negative) repeat count is broken for all types for Redis,
and another specific to cluster mode where redirection is needed.

Now allows and works correctly for negative (i.e. -1) repeat values passed with `-r` argument to redis-cli
as documented here https://redis.io/topics/rediscli#continuously-run-the-same-command which seems to have
regressed as a feature in 95b988 (though that commit removed bad integer wrap-around to `0` behaviour).

This broken behaviour exists currently (e50458), and redis-cli will just exit immediately with repeat `-r <= 0`
as opposed to send commands indefinitely as it should with `-r < 0`

Additionally prevents a repeat * interval seconds hang/time spent doing nothing at the start before issuing
commands in cluster mode (`-c`), where the command needed to redirect to a slot on another node, as commands
where failing and waiting to be reissued but this was fully repeated before being reissued. For example,

        redis-cli -c -r 10 -i 0.5 INCR test_key_not_on_6379

Would hang and show nothing for 5 seconds (10 * 0.5) before showing

        (integer) 1
        (integer) 2
        (integer) 3
        (integer) 4
        (integer) 5
        (integer) 6
        (integer) 7
        (integer) 8
        (integer) 9
        (integer) 10

at half second intervals as intended.
2019-01-02 18:50:58 +00:00
artix
94f6693395 Cluster Manager del-node: use CLUSTER RESET in place of SHUTDOWN
See issue #5687
2018-12-27 17:20:42 +01:00
antirez
19d0ece979 Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-12-21 11:39:15 +01:00
Salvatore Sanfilippo
666adf2669 Merge pull request #5713 from artix75/cluster_manager_fix_cmd
Cluster Manager: enable --cluster-replace also for 'fix' command.
2018-12-19 17:34:35 +01:00
artix
6c20ebbbb6 Cluster Manager: enable --cluster-replace also for 'fix' command. 2018-12-19 17:29:25 +01:00
Salvatore Sanfilippo
3399258846 Merge pull request #5709 from artix75/cluster_manager_fix_cmd
Fixed memory leak in clusterManagerCompareKeysValues.
2018-12-19 17:24:38 +01:00
artix
de69c77451 Fixed memory leak in clusterManagerCompareKeysValues. 2018-12-18 18:45:10 +01:00
Salvatore Sanfilippo
980c82b952 Merge pull request #5708 from artix75/cluster_manager_fix_cmd
Cluster Manager: compare key values after BUSYKEY error (migration).
2018-12-18 18:27:38 +01:00
artix
8bcade7cfa Cluster Manager: compare key values after BUSYKEY error (migration).
If a key exists in the target node during a migration (BUSYKEY),
the value of the key on both nodes (source and target) will be compared.
If the key has the same value on both keys, the migration will be
automatically retried with the REPLACE argument in order to override
the target's key.

If the key has different values, the behaviour will depend on such
cases:
- In case of 'fix' command, the migration will stop and the user
  will be warned to manually check the key(s).
- In other cases (ie. reshard), if the user launched the command
  with the --cluster-replace option, the migration will be
  retried with the REPLACE argument, elsewhere the migration will
  stop and the user will be warned.
2018-12-18 17:45:35 +01:00
Salvatore Sanfilippo
0779f87fe5 Merge pull request #5691 from artix75/cluster_manager_fix_cmd
Cluster Manager: avoid using reply error messages to check slot status.
2018-12-12 13:39:53 +01:00
artix
da1fc5e7e4 Cluster Manager: avoid using reply error messages to check slot status.
Slot assignment status is now checked by using CLUSTER SLOTS.
Furthermore, one memory leak has been fixed.
2018-12-12 13:34:43 +01:00
antirez
11f6eb50a6 Remove debugging printf from replication.tcl test. 2018-12-12 11:55:30 +01:00
antirez
421c242dd0 freeMemoryIfNeeded() small refactoring.
Related to issue #5686 and PR #5689.
2018-12-12 11:37:15 +01:00
Salvatore Sanfilippo
2b5b4797c4 Merge pull request #5689 from soloestoy/donot-evict-when-AOF-loading
evict: don't care about mem if loading
2018-12-12 11:29:10 +01:00
antirez
93f443510b Crashing is too much in addReplyErrorLength().
See #5663.
2018-12-11 17:50:18 +01:00
zhaozhao.zz
eb86c4c282 evict: don't care about mem if loading
When loading data, we call processEventsWhileBlocked
to process events and execute commands.
But if we are loading AOF it's dangerous, because
processCommand would call freeMemoryIfNeeded to evict,
and that will break data consistency, see issue #5686.
2018-12-12 00:25:58 +08:00
antirez
f3409c523a Merge branch 'unstable' of github.com:/antirez/redis into unstable 2018-12-11 13:30:04 +01:00
antirez
44d75945aa stringmatchlen() fuzz test added.
Verified to be able to trigger at least #5632. Does not report other
issues.
2018-12-11 13:29:30 +01:00