Commit Graph

351 Commits

Author SHA1 Message Date
53d1dc170c Merge pull request #5921 from vattezhang/unstable_temp
fix: fix the if condition in clusterManagerShowClusterInfo
2019-03-13 12:18:08 +01:00
02dab20026 Merge pull request #5894 from soloestoy/fix-rdb-warning
Fix compile some warnings
2019-03-13 11:47:48 +01:00
5a3d3d8be4 Fix compile warning in redis-cli.c 2019-03-13 16:54:34 +08:00
fba6e26e87 Merge pull request #5913 from wurongxin1987/unstable
fix a bufferoverflow bug
2019-03-12 17:25:21 +01:00
bdc783b472 fix: fix the if condition in clusterManagerShowClusterInfo 2019-03-12 22:01:02 +08:00
0298d3ad18 fix a bufferoverflow bug 2019-03-10 15:30:32 +08:00
93e51239ce Cluster Manager: add importing/migrating nodes to backup info 2019-03-06 16:38:36 +01:00
e6156a39bd Cluster Manager backup: remove --cluster-ignore-issue option
Always save the backup, even if there are problems in the cluster.
Just display a warn message and save "cluster_errors" property
inside the json.
2019-03-01 17:41:40 +01:00
5e4dfc5c97 Cluster Manager: check cluster before backup
- Prevent cluster backup if cluster has issues and needs to be fixed.
  This behaviour can be overridden by adding the option
  '--cluster-ignore-issues'
2019-03-01 17:41:40 +01:00
fb020ab090 Cluster Manager: 'backup' command 2019-03-01 17:41:40 +01:00
6cd64c6a98 Cluster Manager: change join issue message 2019-02-28 16:57:57 +01:00
23ad3faa50 Cluster Manager: change text alert clusterManagerWaitForClusterJoin 2019-02-28 16:57:57 +01:00
2593fb9c0c Cluster Manager: code cleanup 2019-02-28 16:57:57 +01:00
6e9864fe0d Cluster Manager: fix bus error in clusterManagerGetLinkStatus 2019-02-28 16:57:57 +01:00
121adc604b Cluster Manager: fix memory leaks in clusterManagerGetDisconnectedLinks 2019-02-28 16:57:57 +01:00
b013d2c4db Cluster Manager: fix memory leak in clusterManagerWaitForClusterJoin 2019-02-28 16:57:57 +01:00
3578aabc05 Cluster Manager: improve join issue checking 2019-02-28 16:57:57 +01:00
2f499304aa Cluster Manager: check for unreachable nodes during cluster join. 2019-02-28 16:57:57 +01:00
2d3cad684c Merge pull request #5850 from artix75/dev
Cluster Manager: fix replica assignment anti-affinity (create)
2019-02-22 10:28:31 +01:00
967a98f570 Merge pull request #4811 from oranagra/cli-diskless-repl
Add redis-cli support for diskless replication (CAPA EOF)
2019-02-21 12:54:15 +01:00
b6de51206e redis-cli add support for --memkeys, fix --bigkeys for module types
* bigkeys used to fail on databases with module type keys
* new code adds more types when it discovers them, but has no way to know element count in modules types yet
* bigkeys was missing XLEN command for streams
* adding --memkeys and --memkeys-samples to make use of the MEMORY USAGE command

see #5167, #5175
2019-02-21 12:18:20 +02:00
0f28754021 Cluster Manager: fix replica assigment anti-affinity (create)
Fix issue #5849
2019-02-20 15:36:15 +01:00
9fb160b130 Cluster Manager: remove unused code elements 2019-01-24 17:29:44 +01:00
94460440b7 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
c90cf3d82f fix clusterManagerGetAntiAffinityScore double free otypes 2019-01-19 11:38:36 +08:00
7d4b600f5d RESP3: redis-cli support for boolean in TTY output. 2019-01-09 17:00:30 +01:00
62b2642c51 RESP3: redis-cli: show the double as received from Redis. 2019-01-09 17:00:30 +01:00
a2b2d88f38 RESP3: hiredis: initial double implementation. 2019-01-09 17:00:30 +01:00
005915b5c3 RESP3: hiredis: map and set display for TTY output. 2019-01-09 17:00:30 +01:00
2925bdc63b Add comment explaining negative repeat 2019-01-02 19:28:04 +00:00
2f6ed9333f 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
17797660f1 Cluster Manager del-node: use CLUSTER RESET in place of SHUTDOWN
See issue #5687
2018-12-27 17:20:42 +01:00
503fd229e4 Cluster Manager: enable --cluster-replace also for 'fix' command. 2018-12-19 17:29:25 +01:00
cc29590188 Fixed memory leak in clusterManagerCompareKeysValues. 2018-12-18 18:45:10 +01:00
143bfa1e6e 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
d935cfcb89 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
27ddb2ba3a 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
0c1336caf4 Cluster Manager:
- FixOpenSlot now correctly updates in-memory cluster configuration.
    - Improved output messages.
2018-12-10 17:43:58 +01:00
1a56fc913e 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
d5f7703367 Cluster Manager: setting new slot owner is now handled atomically
in 'fix' command.
2018-12-10 17:43:58 +01:00
eaac9f9e93 Cluster Manager: code cleanup. 2018-12-10 17:43:58 +01:00
5bf13eaaf8 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
74f942cfa5 redis-cli reshard/rebalance: ability to force replacement on existing keys 2018-12-07 14:14:11 +03:00
9f87ef9399 Merge pull request #5460 from krallin/env-password
cli: pass auth through REDISCLI_AUTH
2018-12-07 11:30:07 +01:00
dfe81b33fe Fix cluster call reply format readable 2018-12-04 17:36:42 +08:00
221dfbd322 fix typo 2018-11-23 23:51:16 +08:00
2961c89161 Fix choose a random master node for slot assignment 2018-11-23 16:58:55 +08:00
2f76829dc7 skip slave nodes when sending cluster setslot command 2018-11-21 23:01:35 +08:00
64324901f2 Fix pointer access and memory leak in redis-cli. 2018-11-16 17:27:27 +08:00
d9e822a14b Merge pull request #5529 from yongman/fix-rediscli-malloc
fix zmalloc in clusterManagerComputeReshardTable
2018-11-06 12:05:24 +01:00