summaryrefslogtreecommitdiff
path: root/src/redis-benchmark.c
diff options
context:
space:
mode:
authorWang Yuan <wangyuancode@163.com>2020-12-17 16:22:13 +0800
committerGitHub <noreply@github.com>2020-12-17 10:22:13 +0200
commit6413e5f81a8b6296f4bb57cae11f5b2534f5f663 (patch)
tree9d7730e2a3b0768962113db7e5138d8a6f7ef9fe /src/redis-benchmark.c
parent4f67d0b647caba9fa301a1a604214c0ecc40940a (diff)
downloadredis-6413e5f81a8b6296f4bb57cae11f5b2534f5f663.tar.gz
[Redis-benchmark] Use IP from CLUSTER NODE reply for first node too (#8154)
If we only has one node in cluster or before 8fdc857, we don't know myself ip, so we should use config.hostip for myself. However, we should use the IP from the command response to update node->ip if it exists and is different from config.hostip otherwise, when there's more than one node in cluster, if we use -h with virtual IP or DNS, benchmark doesn't show node real ip and port of myself even though it could get right IP and port by CLUSTER NODES command.
Diffstat (limited to 'src/redis-benchmark.c')
-rw-r--r--src/redis-benchmark.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/redis-benchmark.c b/src/redis-benchmark.c
index 4efed4b12..18e19b0e0 100644
--- a/src/redis-benchmark.c
+++ b/src/redis-benchmark.c
@@ -1182,8 +1182,8 @@ static int fetchClusterConfiguration() {
}
if (myself) {
node = firstNode;
- if (node->ip == NULL && ip != NULL) {
- node->ip = ip;
+ if (ip != NULL && strcmp(node->ip, ip) != 0) {
+ node->ip = sdsnew(ip);
node->port = port;
}
} else {