diff --git a/storage_controller/src/http.rs b/storage_controller/src/http.rs index fb4530d0d2..1b3da2ffbc 100644 --- a/storage_controller/src/http.rs +++ b/storage_controller/src/http.rs @@ -1762,23 +1762,19 @@ async fn maybe_forward(req: Request
) -> ForwardOutcome { }; let cfg = state.service.get_config(); - if let Some(ref self_addr) = cfg.address_for_peers { - let leader_addr = match Uri::from_str(leader.address.as_str()) { - Ok(uri) => uri, - Err(err) => { - return ForwardOutcome::Forwarded(Err(ApiError::InternalServerError( - anyhow::anyhow!( - "Failed to parse leader uri for forwarding while in stepped down state: {err}" - ), - ))); - } - }; - - if *self_addr == leader_addr { - return ForwardOutcome::Forwarded(Err(ApiError::ResourceUnavailable( - "Leader is stepped down instance".into(), - ))); + let leader_addr = match Uri::from_str(leader.address.as_str()) { + Ok(uri) => uri, + Err(err) => { + return ForwardOutcome::Forwarded(Err(ApiError::InternalServerError(anyhow::anyhow!( + "Failed to parse leader uri for forwarding while in stepped down state: {err}" + )))); } + }; + + if cfg.address_for_peers == leader_addr { + return ForwardOutcome::Forwarded(Err(ApiError::ResourceUnavailable( + "Leader is stepped down instance".into(), + ))); } tracing::info!("Forwarding {} to leader at {}", uri, leader.address); diff --git a/storage_controller/src/leadership.rs b/storage_controller/src/leadership.rs index 39c28d60a9..2ab3fa21ec 100644 --- a/storage_controller/src/leadership.rs +++ b/storage_controller/src/leadership.rs @@ -62,22 +62,15 @@ impl Leadership { &self, current_leader: Option