From d33fbeee06105102faf387a7dc09ad01be5d2a29 Mon Sep 17 00:00:00 2001 From: Matthias van de Meent Date: Wed, 28 May 2025 14:31:35 +0200 Subject: [PATCH] Always include SK endpoints in the neon.safekeepers configuration This makes endpoint promotion much easier. --- control_plane/src/endpoint.rs | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/control_plane/src/endpoint.rs b/control_plane/src/endpoint.rs index 708745446d..bc56cd4fdb 100644 --- a/control_plane/src/endpoint.rs +++ b/control_plane/src/endpoint.rs @@ -616,19 +616,16 @@ impl Endpoint { /// Map safekeepers ids to the actual connection strings. fn build_safekeepers_connstrs(&self, sk_ids: Vec) -> Result> { - let mut safekeeper_connstrings = Vec::new(); - if self.mode == ComputeMode::Primary { - for sk_id in sk_ids { - let sk = self - .env + sk_ids.into_iter() + .map(|node_id| { + self.env .safekeepers .iter() - .find(|node| node.id == sk_id) - .ok_or_else(|| anyhow!("safekeeper {sk_id} does not exist"))?; - safekeeper_connstrings.push(format!("127.0.0.1:{}", sk.get_compute_port())); - } - } - Ok(safekeeper_connstrings) + .find(|node| node.id == node_id) + .map(|node| format!("127.0.0.1:{}", node.get_compute_port())) + .ok_or_else(|| anyhow!("safekeeer {node_id} does not exist")) + }) + .collect::>>() } /// Generate a JWT with the correct claims.