331 Commits

Author SHA1 Message Date
John Sully
2f753a3539 complete malloc memory class work, and pass tests 2019-02-04 16:56:13 -05:00
John Sully
a476fdfd8c Support configurable file backed scratch 2019-02-01 13:54:59 -05:00
John Sully
0ffcf355fe Custom flash heap 2019-01-29 18:10:46 -05:00
artix
05d9bcf89f Cluster Manager: remove unused code elements 2019-01-24 17:29:44 +01:00
Salvatore Sanfilippo
d33c574ddd Merge pull request #5743 from AngusP/forever-repeat-cli
Redis CLI: Fix broken interval and repeat behaviour (incluing in cluster mode)
2019-01-22 17:29:37 +01:00
Zhicheng Wei
590b97cc43 fix clusterManagerGetAntiAffinityScore double free otypes 2019-01-19 11:38:36 +08:00
antirez
7db26f6aad RESP3: redis-cli support for boolean in TTY output. 2019-01-09 17:00:30 +01:00
antirez
092bb045fe RESP3: redis-cli: show the double as received from Redis. 2019-01-09 17:00:30 +01:00
antirez
d4b34743e1 RESP3: hiredis: initial double implementation. 2019-01-09 17:00:30 +01:00
antirez
86d2b8a65f RESP3: hiredis: map and set display for TTY output. 2019-01-09 17:00:30 +01:00
Angus Pearson
f6bd1372ab Add comment explaining negative repeat 2019-01-02 19:28:04 +00:00
Angus Pearson
314721a1ef 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
39f4a23296 Cluster Manager del-node: use CLUSTER RESET in place of SHUTDOWN
See issue #5687
2018-12-27 17:20:42 +01:00
artix
853b97fd85 Cluster Manager: enable --cluster-replace also for 'fix' command. 2018-12-19 17:29:25 +01:00
artix
1055c6b484 Fixed memory leak in clusterManagerCompareKeysValues. 2018-12-18 18:45:10 +01:00
artix
4ec37c3bd3 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
artix
cc21057890 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
artix
440e8164a1 Cluster Manager:
- Multiple owners checking in 'fix'/'check' commands is now
  optional (using --cluster-search-multiple-owners).
- Updated help.
2018-12-10 18:01:18 +01:00
artix
17ff4e873f Cluster Manager:
- FixOpenSlot now correctly updates in-memory cluster configuration.
    - Improved output messages.
2018-12-10 17:43:58 +01:00
artix
c2ea297052 Cluster Manager: 'fix' command now handles open slots with migrating state
in one node and importing state in multiple nodes.
2018-12-10 17:43:58 +01:00
artix
b5d9d24d3b Cluster Manager: setting new slot owner is now handled atomically
in 'fix' command.
2018-12-10 17:43:58 +01:00
artix
0c7a108dc9 Cluster Manager: code cleanup. 2018-12-10 17:43:58 +01:00
artix
8b7107fd32 Cluster Manager: check/fix commands now handle multiple owners even if
all slots are covered and not open.
2018-12-10 17:39:54 +01:00
yura
3cd5152007 redis-cli reshard/rebalance: ability to force replacement on existing keys 2018-12-07 14:14:11 +03:00
Salvatore Sanfilippo
8b67a78dfa Merge pull request #5460 from krallin/env-password
cli: pass auth through REDISCLI_AUTH
2018-12-07 11:30:07 +01:00
yongman
8696f09314 Fix cluster call reply format readable 2018-12-04 17:36:42 +08:00
yongman
c2fa863c55 fix typo 2018-11-23 23:51:16 +08:00
yongman
3afdde7c56 Fix choose a random master node for slot assignment 2018-11-23 16:58:55 +08:00
yongman
1a86562f52 skip slave nodes when sending cluster setslot command 2018-11-21 23:01:35 +08:00
yongman
16b57b8e23 Fix pointer access and memory leak in redis-cli. 2018-11-16 17:27:27 +08:00
Salvatore Sanfilippo
d7fa595ed5 Merge pull request #5529 from yongman/fix-rediscli-malloc
fix zmalloc in clusterManagerComputeReshardTable
2018-11-06 12:05:24 +01:00
yongman
53fe09b382 fix malloc in clusterManagerComputeReshardTable 2018-11-06 10:51:19 +08:00
artix
8eb1f32c6d Cluster Manager: removed unused var. 2018-11-05 14:19:45 +01:00
artix
a80bd01a4e Cluster Manager: further improvements to "fix":
- clusterManagerFixOpenSlot: ensure that the
  slot is unassigned before ADDSLOTS
- clusterManagerFixSlotsCoverage: after cold
  migration, the slot configuration
  is now updated on all the nodes.
2018-11-05 14:15:31 +01:00
artix
6ce7b41f3e Cluster Manager: fixed string parsing issue in clusterManagerGetConfigSignature 2018-11-05 14:15:22 +01:00
artix
5a64a34e85 Cluster Manager: better fix subcommand. 2018-11-05 14:15:12 +01:00
artix
18428a513a Cluster Manager: fixed typos in comments. 2018-11-05 14:15:01 +01:00
artix
f90eccb9ee Cluster Manager: fixed 'DELSLOT' subcommand typo. 2018-11-05 14:14:45 +01:00
Thomas Orozco
91a958dbac cli: pass auth through REDISCLI_AUTH
This adds support for passing a password through a REDISCLI_AUTH
environment variable (which is safer than the CLI), which might often be
safer than passing it through a CLI argument.

Passing a password this way does not trigger the warning about passing a
password through CLI arguments, and CLI arguments take precedence over
it.
2018-10-19 19:15:14 +02:00
artix
1ece6a3995 Cluster Manager: clusterManagerFixOpenSlot now counts node's keys in slot
if node is neither migrating nor importing.
2018-09-17 16:26:46 +02:00
antirez
6f9279ca14 Revert "fix repeat argument issue and reduce unnessary loop times for redis-cli."
Reverts commit 9505dd2011ef7143670b68247ff1818ffbad9768
since the commit introduced the very serious bug issue #5286.
2018-09-17 16:24:07 +02:00
antirez
98a41d86d0 LOLWUT: show the output verbatim in redis-cli. 2018-09-11 16:29:31 +02:00
antirez
aee9d1dc3b Slave removal: slave mode -> replica mode text in redis-cli. 2018-09-11 15:32:28 +02:00
antirez
88ac42587d Slave removal: redis-cli --slave -> --replica.
--slave alias remains but is undocumented, just for backward
compatibiltiy.
2018-09-11 15:32:28 +02:00
Salvatore Sanfilippo
34d2c23324 Merge pull request #5239 from jeffreylovitz/cli-help-fix
CLI Help text loop verifies arg count
2018-09-07 12:28:22 +02:00
Weiliang Li
15fb7210b5 fix usage typo in redis-cli 2018-09-06 13:40:05 +08:00
Jeffrey Lovitz
ba7f792de1 CLI Help text loop verifies arg count 2018-08-12 12:47:01 -04:00
artix
b81d389020 Cluster Manager: more checks on --cluster-weight option. 2018-07-13 10:51:58 +02:00
artix
d000b8f809 Cluster Manager: auth support (-a argument). 2018-07-13 10:51:58 +02:00
tengfeng
22c533560c fix repeat argument issue and reduce unnessary loop times for redis-cli. 2018-07-10 20:58:01 +08:00