Commit Graph

368 Commits

Author SHA1 Message Date
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
4e74d9cf55 fix malloc in clusterManagerComputeReshardTable 2018-11-06 10:51:19 +08:00
3a2d82ae8e Cluster Manager: removed unused var. 2018-11-05 14:19:45 +01:00
18ddbf0352 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
d6f0a9ac72 Cluster Manager: fixed string parsing issue in clusterManagerGetConfigSignature 2018-11-05 14:15:22 +01:00
2e9859cbfc Cluster Manager: better fix subcommand. 2018-11-05 14:15:12 +01:00
be3a9dbb6f Cluster Manager: fixed typos in comments. 2018-11-05 14:15:01 +01:00
ab270a9777 Cluster Manager: fixed 'DELSLOT' subcommand typo. 2018-11-05 14:14:45 +01:00
f24ad5d831 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
81c4be42c1 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
9f43264f86 Revert "fix repeat argument issue and reduce unnessary loop times for redis-cli."
Reverts commit 9505dd2011
since the commit introduced the very serious bug issue #5286.
2018-09-17 16:24:07 +02:00
096c74c886 LOLWUT: show the output verbatim in redis-cli. 2018-09-11 16:29:31 +02:00
8296e5c846 Slave removal: slave mode -> replica mode text in redis-cli. 2018-09-11 15:32:28 +02:00
f579b77449 Slave removal: redis-cli --slave -> --replica.
--slave alias remains but is undocumented, just for backward
compatibiltiy.
2018-09-11 15:32:28 +02:00
83b8eaa638 Merge pull request #5239 from jeffreylovitz/cli-help-fix
CLI Help text loop verifies arg count
2018-09-07 12:28:22 +02:00
db74d71eb3 fix usage typo in redis-cli 2018-09-06 13:40:05 +08:00
bd01334da1 CLI Help text loop verifies arg count 2018-08-12 12:47:01 -04:00
d4182a0a0d Cluster Manager: more checks on --cluster-weight option. 2018-07-13 10:51:58 +02:00
513eb5728c Cluster Manager: auth support (-a argument). 2018-07-13 10:51:58 +02:00
9505dd2011 fix repeat argument issue and reduce unnessary loop times for redis-cli. 2018-07-10 20:58:01 +08:00
b67f027699 redis-cli: fix #4990 additional argument in help. 2018-07-09 13:36:47 +02:00
18d65849fd redis-cli: fix #5096 double error message. 2018-07-09 13:25:48 +02:00
846203279c redis-cli: cliConnect() flags CC_FORCE and CC_QUIET.
We need CC_QUIET in order to fix #5096 by silently failing if needed.
2018-07-09 13:24:30 +02:00
62a4a8c1d5 fix whitespace in redis-cli.c 2018-07-09 12:59:13 +02:00
93238575f7 Fix typo 2018-07-03 18:19:46 +02:00
a0b05a0424 Merge pull request #5075 from soloestoy/client-list-types
FEATURE: implements client list type option
2018-06-29 18:00:32 +02:00
9f1856268c Check if password is used on command line interface. 2018-06-28 19:09:22 +08:00
1139070a0f Fix trailing white space. 2018-06-28 18:47:28 +08:00
bbd0ca9522 Fix code format issue. 2018-06-28 18:39:42 +08:00
7becf54e51 Don't output password warning message when --no-auth-warning is used. 2018-06-28 18:38:24 +08:00
bde05e9c32 Avoid -Woverlength-strings compile warning.
Using another fprintf call to output the rest help message.
2018-06-28 18:22:06 +08:00
0b74fd6766 Add --no-auth-warning help message. 2018-06-28 18:17:04 +08:00
b9cbd04b57 clients: add type option for client list 2018-06-28 17:43:05 +08:00
ce17f76bbd Security: fix redis-cli buffer overflow.
Thanks to Fakhri Zulkifli for reporting it.

The fix switched to dynamic allocation, copying the final prompt in the
static buffer only at the end.
2018-06-13 12:40:33 +02:00