summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMadelyn Olson <34459052+madolson@users.noreply.github.com>2022-03-20 22:08:40 -0700
committerGitHub <noreply@github.com>2022-03-20 22:08:40 -0700
commit557222d1e046ab4adc4ac86914c42d60bf028a4e (patch)
tree14d34177d7dd6857c2c81e0a0b3a397ef57ca1f1
parentfae5b1a19d0972c2f4274004f15be3d2f90c856c (diff)
downloadredis-557222d1e046ab4adc4ac86914c42d60bf028a4e.tar.gz
Fix timing issue in shards test and fix displayed TLS port (#10450)
-rw-r--r--src/cluster.c10
-rw-r--r--tests/cluster/tests/28-cluster-shards.tcl6
2 files changed, 9 insertions, 7 deletions
diff --git a/src/cluster.c b/src/cluster.c
index 755ce5681..2f37b241b 100644
--- a/src/cluster.c
+++ b/src/cluster.c
@@ -4972,14 +4972,16 @@ void addNodeDetailsToShardReply(client *c, clusterNode *node) {
addReplyBulkCBuffer(c, node->name, CLUSTER_NAMELEN);
reply_count++;
- int port = server.cluster_announce_port ? server.cluster_announce_port : server.port;
- if (port) {
+ /* We use server.tls_cluster as a proxy for whether or not
+ * the remote port is the tls port or not */
+ int plaintext_port = server.tls_cluster ? node->pport : node->port;
+ int tls_port = server.tls_cluster ? node->port : 0;
+ if (plaintext_port) {
addReplyBulkCString(c, "port");
- addReplyLongLong(c, node->port);
+ addReplyLongLong(c, plaintext_port);
reply_count++;
}
- int tls_port = server.cluster_announce_tls_port ? server.cluster_announce_tls_port : server.tls_port;
if (tls_port) {
addReplyBulkCString(c, "tls-port");
addReplyLongLong(c, tls_port);
diff --git a/tests/cluster/tests/28-cluster-shards.tcl b/tests/cluster/tests/28-cluster-shards.tcl
index 4f0b56a16..fe794f2b7 100644
--- a/tests/cluster/tests/28-cluster-shards.tcl
+++ b/tests/cluster/tests/28-cluster-shards.tcl
@@ -131,7 +131,7 @@ test "Instance #0 gets converted into a replica" {
test "Test the replica reports a loading state while it's loading" {
# Test the command is good for verifying everything moves to a happy state
set replica_cluster_id [R $replica_id CLUSTER MYID]
- wait_for_condition 50 100 {
+ wait_for_condition 50 1000 {
[dict get [get_node_info_from_shard $replica_cluster_id $primary_id "node"] health] eq "online"
} else {
fail "Replica never transitioned to online"
@@ -165,7 +165,7 @@ test "Test the replica reports a loading state while it's loading" {
R $primary_id exec
# The replica should reconnect and start a full sync, it will gossip about it's health to the primary.
- wait_for_condition 50 100 {
+ wait_for_condition 50 1000 {
"loading" eq [dict get [get_node_info_from_shard $replica_cluster_id $primary_id "node"] health]
} else {
fail "Replica never transitioned to loading"
@@ -174,7 +174,7 @@ test "Test the replica reports a loading state while it's loading" {
# Speed up the key loading and verify everything resumes
R $replica_id config set key-load-delay 0
- wait_for_condition 50 100 {
+ wait_for_condition 50 1000 {
"online" eq [dict get [get_node_info_from_shard $replica_cluster_id $primary_id "node"] health]
} else {
fail "Replica never transitioned to online"