From 557222d1e046ab4adc4ac86914c42d60bf028a4e Mon Sep 17 00:00:00 2001 From: Madelyn Olson <34459052+madolson@users.noreply.github.com> Date: Sun, 20 Mar 2022 22:08:40 -0700 Subject: [PATCH] Fix timing issue in shards test and fix displayed TLS port (#10450) --- src/cluster.c | 10 ++++++---- tests/cluster/tests/28-cluster-shards.tcl | 6 +++--- 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"