368 Commits

Author SHA1 Message Date
artix
de69c77451 Fixed memory leak in clusterManagerCompareKeysValues. 2018-12-18 18:45:10 +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
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
artix
4d2e9f9004 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
08c05082fd Cluster Manager:
- FixOpenSlot now correctly updates in-memory cluster configuration.
    - Improved output messages.
2018-12-10 17:43:58 +01:00
artix
41535a5003 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
d066613606 Cluster Manager: setting new slot owner is now handled atomically
in 'fix' command.
2018-12-10 17:43:58 +01:00
artix
e2d620cd04 Cluster Manager: code cleanup. 2018-12-10 17:43:58 +01:00
artix
eeaddda237 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
041e368090 redis-cli reshard/rebalance: ability to force replacement on existing keys 2018-12-07 14:14:11 +03:00
Salvatore Sanfilippo
d0383c6b82 Merge pull request #5460 from krallin/env-password
cli: pass auth through REDISCLI_AUTH
2018-12-07 11:30:07 +01:00
yongman
00beb60aaa Fix cluster call reply format readable 2018-12-04 17:36:42 +08:00
yongman
ff4a59c87d fix typo 2018-11-23 23:51:16 +08:00
yongman
dd759108d3 Fix choose a random master node for slot assignment 2018-11-23 16:58:55 +08:00
yongman
3196f40c0c skip slave nodes when sending cluster setslot command 2018-11-21 23:01:35 +08:00
yongman
1bf2f11821 Fix pointer access and memory leak in redis-cli. 2018-11-16 17:27:27 +08:00
Salvatore Sanfilippo
1d13cd12b2 Merge pull request #5529 from yongman/fix-rediscli-malloc
fix zmalloc in clusterManagerComputeReshardTable
2018-11-06 12:05:24 +01:00
yongman
11eba37923 fix malloc in clusterManagerComputeReshardTable 2018-11-06 10:51:19 +08:00
artix
8475a6c5c4 Cluster Manager: removed unused var. 2018-11-05 14:19:45 +01:00
artix
acc17f2c5a 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
35af3fa1d9 Cluster Manager: fixed string parsing issue in clusterManagerGetConfigSignature 2018-11-05 14:15:22 +01:00
artix
1167734c70 Cluster Manager: better fix subcommand. 2018-11-05 14:15:12 +01:00
artix
91b5772dce Cluster Manager: fixed typos in comments. 2018-11-05 14:15:01 +01:00
artix
2ed5381e4a Cluster Manager: fixed 'DELSLOT' subcommand typo. 2018-11-05 14:14:45 +01:00
Thomas Orozco
1470fb5a6d 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
42f13e279b 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
7f73de385a Revert "fix repeat argument issue and reduce unnessary loop times for redis-cli."
Reverts commit 4f0a0b597306162b3e62eb8e608e3a42c126f03e
since the commit introduced the very serious bug issue #5286.
2018-09-17 16:24:07 +02:00
antirez
c1728940a0 LOLWUT: show the output verbatim in redis-cli. 2018-09-11 16:29:31 +02:00
antirez
92eb72d175 Slave removal: slave mode -> replica mode text in redis-cli. 2018-09-11 15:32:28 +02:00
antirez
d0647506b3 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
fc72dbf9c6 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
82634bcc19 fix usage typo in redis-cli 2018-09-06 13:40:05 +08:00
Jeffrey Lovitz
588b402a7b CLI Help text loop verifies arg count 2018-08-12 12:47:01 -04:00
artix
c8c2431a8b Cluster Manager: more checks on --cluster-weight option. 2018-07-13 10:51:58 +02:00
artix
3debe986a3 Cluster Manager: auth support (-a argument). 2018-07-13 10:51:58 +02:00
tengfeng
4f0a0b5973 fix repeat argument issue and reduce unnessary loop times for redis-cli. 2018-07-10 20:58:01 +08:00
antirez
0e6045f75b redis-cli: fix #4990 additional argument in help. 2018-07-09 13:36:47 +02:00
antirez
5d201d8d58 redis-cli: fix #5096 double error message. 2018-07-09 13:25:48 +02:00
antirez
208e36ca6a 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
minkikim89
822b90064f fix whitespace in redis-cli.c 2018-07-09 12:59:13 +02:00
Jack Drogon
bae1d36e5d Fix typo 2018-07-03 18:19:46 +02:00
Salvatore Sanfilippo
6ceda1d89c Merge pull request #5075 from soloestoy/client-list-types
FEATURE: implements client list type option
2018-06-29 18:00:32 +02:00
dejun.xdj
65f043f706 Check if password is used on command line interface. 2018-06-28 19:09:22 +08:00
dejun.xdj
0fb2c8d5ea Fix trailing white space. 2018-06-28 18:47:28 +08:00
dejun.xdj
62d5696fa6 Fix code format issue. 2018-06-28 18:39:42 +08:00
dejun.xdj
f8831b81df Don't output password warning message when --no-auth-warning is used. 2018-06-28 18:38:24 +08:00
dejun.xdj
16164e3112 Avoid -Woverlength-strings compile warning.
Using another fprintf call to output the rest help message.
2018-06-28 18:22:06 +08:00
dejun.xdj
f056c33fd9 Add --no-auth-warning help message. 2018-06-28 18:17:04 +08:00
zhaozhao.zz
c9c7dab4f3 clients: add type option for client list 2018-06-28 17:43:05 +08:00
antirez
b7c8a71916 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