antirez
12c56a8e75
redis-cli: always report server errors on read errors.
...
Before this commit we may have not consumer buffers when a read error is
encountered. Such buffers may contain errors that are important clues
for the user: for instance a protocol error in the payload we send in
pipe mode will cause the server to abort the connection. If the user
does not get the protocol error, debugging what is happening can be a
nightmare.
This commit fixes issue #3756 .
2019-09-04 17:55:46 +02:00
Diego Bendersky
b27f388344
pass len to alloc in clusterManagerMigrateKeysInReply
2019-08-05 17:35:50 -03:00
Salvatore Sanfilippo
53d1dc170c
Merge pull request #5921 from vattezhang/unstable_temp
...
fix: fix the if condition in clusterManagerShowClusterInfo
2019-03-13 12:18:08 +01:00
Salvatore Sanfilippo
02dab20026
Merge pull request #5894 from soloestoy/fix-rdb-warning
...
Fix compile some warnings
2019-03-13 11:47:48 +01:00
zhaozhao.zz
5a3d3d8be4
Fix compile warning in redis-cli.c
2019-03-13 16:54:34 +08:00
Salvatore Sanfilippo
fba6e26e87
Merge pull request #5913 from wurongxin1987/unstable
...
fix a bufferoverflow bug
2019-03-12 17:25:21 +01:00
vattezhang
bdc783b472
fix: fix the if condition in clusterManagerShowClusterInfo
2019-03-12 22:01:02 +08:00
wurongxin
0298d3ad18
fix a bufferoverflow bug
2019-03-10 15:30:32 +08:00
artix
93e51239ce
Cluster Manager: add importing/migrating nodes to backup info
2019-03-06 16:38:36 +01:00
artix
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
artix
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
artix
fb020ab090
Cluster Manager: 'backup' command
2019-03-01 17:41:40 +01:00
artix
6cd64c6a98
Cluster Manager: change join issue message
2019-02-28 16:57:57 +01:00
artix
23ad3faa50
Cluster Manager: change text alert clusterManagerWaitForClusterJoin
2019-02-28 16:57:57 +01:00
artix
2593fb9c0c
Cluster Manager: code cleanup
2019-02-28 16:57:57 +01:00
artix
6e9864fe0d
Cluster Manager: fix bus error in clusterManagerGetLinkStatus
2019-02-28 16:57:57 +01:00
Artix
121adc604b
Cluster Manager: fix memory leaks in clusterManagerGetDisconnectedLinks
2019-02-28 16:57:57 +01:00
artix
b013d2c4db
Cluster Manager: fix memory leak in clusterManagerWaitForClusterJoin
2019-02-28 16:57:57 +01:00
artix
3578aabc05
Cluster Manager: improve join issue checking
2019-02-28 16:57:57 +01:00
artix
2f499304aa
Cluster Manager: check for unreachable nodes during cluster join.
2019-02-28 16:57:57 +01:00
Salvatore Sanfilippo
2d3cad684c
Merge pull request #5850 from artix75/dev
...
Cluster Manager: fix replica assignment anti-affinity (create)
2019-02-22 10:28:31 +01:00
Salvatore Sanfilippo
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
Oran Agra
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
artix
0f28754021
Cluster Manager: fix replica assigment anti-affinity (create)
...
Fix issue #5849
2019-02-20 15:36:15 +01:00
artix
9fb160b130
Cluster Manager: remove unused code elements
2019-01-24 17:29:44 +01:00
Salvatore Sanfilippo
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
Zhicheng Wei
c90cf3d82f
fix clusterManagerGetAntiAffinityScore double free otypes
2019-01-19 11:38:36 +08:00
antirez
7d4b600f5d
RESP3: redis-cli support for boolean in TTY output.
2019-01-09 17:00:30 +01:00
antirez
62b2642c51
RESP3: redis-cli: show the double as received from Redis.
2019-01-09 17:00:30 +01:00
antirez
a2b2d88f38
RESP3: hiredis: initial double implementation.
2019-01-09 17:00:30 +01:00
antirez
005915b5c3
RESP3: hiredis: map and set display for TTY output.
2019-01-09 17:00:30 +01:00
Angus Pearson
2925bdc63b
Add comment explaining negative repeat
2019-01-02 19:28:04 +00:00
Angus Pearson
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
artix
17797660f1
Cluster Manager del-node: use CLUSTER RESET in place of SHUTDOWN
...
See issue #5687
2018-12-27 17:20:42 +01:00
artix
503fd229e4
Cluster Manager: enable --cluster-replace also for 'fix' command.
2018-12-19 17:29:25 +01:00
artix
cc29590188
Fixed memory leak in clusterManagerCompareKeysValues.
2018-12-18 18:45:10 +01:00
artix
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
artix
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
artix
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
artix
0c1336caf4
Cluster Manager:
...
- FixOpenSlot now correctly updates in-memory cluster configuration.
- Improved output messages.
2018-12-10 17:43:58 +01:00
artix
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
artix
d5f7703367
Cluster Manager: setting new slot owner is now handled atomically
...
in 'fix' command.
2018-12-10 17:43:58 +01:00
artix
eaac9f9e93
Cluster Manager: code cleanup.
2018-12-10 17:43:58 +01:00
artix
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
yura
74f942cfa5
redis-cli reshard/rebalance: ability to force replacement on existing keys
2018-12-07 14:14:11 +03:00
Salvatore Sanfilippo
9f87ef9399
Merge pull request #5460 from krallin/env-password
...
cli: pass auth through REDISCLI_AUTH
2018-12-07 11:30:07 +01:00
yongman
dfe81b33fe
Fix cluster call reply format readable
2018-12-04 17:36:42 +08:00
yongman
221dfbd322
fix typo
2018-11-23 23:51:16 +08:00
yongman
2961c89161
Fix choose a random master node for slot assignment
2018-11-23 16:58:55 +08:00
yongman
2f76829dc7
skip slave nodes when sending cluster setslot command
2018-11-21 23:01:35 +08:00
yongman
64324901f2
Fix pointer access and memory leak in redis-cli.
2018-11-16 17:27:27 +08:00
Salvatore Sanfilippo
d9e822a14b
Merge pull request #5529 from yongman/fix-rediscli-malloc
...
fix zmalloc in clusterManagerComputeReshardTable
2018-11-06 12:05:24 +01:00
yongman
4e74d9cf55
fix malloc in clusterManagerComputeReshardTable
2018-11-06 10:51:19 +08:00
artix
3a2d82ae8e
Cluster Manager: removed unused var.
2018-11-05 14:19:45 +01:00
artix
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
artix
d6f0a9ac72
Cluster Manager: fixed string parsing issue in clusterManagerGetConfigSignature
2018-11-05 14:15:22 +01:00
artix
2e9859cbfc
Cluster Manager: better fix subcommand.
2018-11-05 14:15:12 +01:00
artix
be3a9dbb6f
Cluster Manager: fixed typos in comments.
2018-11-05 14:15:01 +01:00
artix
ab270a9777
Cluster Manager: fixed 'DELSLOT' subcommand typo.
2018-11-05 14:14:45 +01:00
Thomas Orozco
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
artix
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
antirez
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
antirez
096c74c886
LOLWUT: show the output verbatim in redis-cli.
2018-09-11 16:29:31 +02:00
antirez
8296e5c846
Slave removal: slave mode -> replica mode text in redis-cli.
2018-09-11 15:32:28 +02:00
antirez
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
Salvatore Sanfilippo
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
Weiliang Li
db74d71eb3
fix usage typo in redis-cli
2018-09-06 13:40:05 +08:00
Jeffrey Lovitz
bd01334da1
CLI Help text loop verifies arg count
2018-08-12 12:47:01 -04:00
artix
d4182a0a0d
Cluster Manager: more checks on --cluster-weight option.
2018-07-13 10:51:58 +02:00
artix
513eb5728c
Cluster Manager: auth support (-a argument).
2018-07-13 10:51:58 +02:00
tengfeng
9505dd2011
fix repeat argument issue and reduce unnessary loop times for redis-cli.
2018-07-10 20:58:01 +08:00
antirez
b67f027699
redis-cli: fix #4990 additional argument in help.
2018-07-09 13:36:47 +02:00
antirez
18d65849fd
redis-cli: fix #5096 double error message.
2018-07-09 13:25:48 +02:00
antirez
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
minkikim89
62a4a8c1d5
fix whitespace in redis-cli.c
2018-07-09 12:59:13 +02:00
Jack Drogon
93238575f7
Fix typo
2018-07-03 18:19:46 +02:00
Salvatore Sanfilippo
a0b05a0424
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
9f1856268c
Check if password is used on command line interface.
2018-06-28 19:09:22 +08:00
dejun.xdj
1139070a0f
Fix trailing white space.
2018-06-28 18:47:28 +08:00
dejun.xdj
bbd0ca9522
Fix code format issue.
2018-06-28 18:39:42 +08:00
dejun.xdj
7becf54e51
Don't output password warning message when --no-auth-warning is used.
2018-06-28 18:38:24 +08:00
dejun.xdj
bde05e9c32
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
0b74fd6766
Add --no-auth-warning help message.
2018-06-28 18:17:04 +08:00
zhaozhao.zz
b9cbd04b57
clients: add type option for client list
2018-06-28 17:43:05 +08:00
antirez
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
antirez
269e80526f
Implement DEBUG htstats-key.
2018-06-08 11:17:20 +02:00
shenlongxing
c85ae56edc
Fix write() errno error
2018-06-06 13:06:42 +02:00
Yossi Gottlieb
e1222d8b10
Clean gcc 7.x warnings, redis-cli cluster fix.
2018-06-03 15:54:30 +03:00
artix
d168b245b3
Cluster Manager: fixed master_id check in clusterManagerNodeLoadInfo
2018-06-01 16:19:47 +02:00
artix
4bce88b11f
Cluster Manager: fixed infinite loop in rebalance (Issue #4941 ).
2018-05-31 15:59:16 +02:00
Salvatore Sanfilippo
18b7f71130
Merge pull request #4932 from 0xtonyxia/fix-redis-cli-set-prefer-memory-leak
...
Fix redis-cli memory leak when sending set :preference command.
2018-05-24 16:15:21 +02:00
Salvatore Sanfilippo
ef7ccad180
Merge pull request #4922 from 0xtonyxia/enhance-cli-security
...
Enhance security for redis-cli
2018-05-24 16:14:42 +02:00
dejun.xdj
46e241ac8e
Fix redis-cli memory leak when sending set preference command.
2018-05-21 12:19:37 +08:00
dejun.xdj
95b988b6c6
Check if the repeat value is positive in while loop of cliSendCommand().
...
In case that the incoming repeat parameter is negative and causes a
deadless loop.
2018-05-21 12:06:48 +08:00
dejun.xdj
cc7ffdfdf2
Change the type of repeat argument to long for function cliSendCommand.
...
To be in consistent with the original definition.
2018-05-21 12:04:53 +08:00
dejun.xdj
b2762f1ff2
Fix negtive repeat command value issue.
...
If command like "-1 set a b" is sent with redis-cli, it will cause a deadless loop. So some repeat value checking logic is added to avoid this.
2018-05-19 22:50:40 +08:00
dejun.xdj
c2e2314640
Detect and stop saving history for auth command with repeat option.
...
Put the repeat option checking code a little forward to avoid repeat logic.
2018-05-18 11:40:05 +08:00
dejun.xdj
ef931ef93e
Change the warning message a little bit to avoid trademark issuses.
2018-05-18 11:37:31 +08:00
artix
e47c751c74
Removed TODO in redis-cli
2018-05-16 18:04:13 +02:00
artix
1e4fb1b33a
Cluster Manager: fixed unprinted reply error
2018-05-16 17:49:18 +02:00