diff --git a/control_plane/src/attachment_service.rs b/control_plane/src/attachment_service.rs index b897345048..3914c65aa5 100644 --- a/control_plane/src/attachment_service.rs +++ b/control_plane/src/attachment_service.rs @@ -67,7 +67,7 @@ pub struct NodeRegisterRequest { pub listen_http_port: u16, } -#[derive(Serialize, Deserialize)] +#[derive(Serialize, Deserialize, Debug)] pub struct TenantLocateResponseShard { pub shard_id: TenantShardId, pub node_id: NodeId, diff --git a/control_plane/src/bin/attachment_service.rs b/control_plane/src/bin/attachment_service.rs index 4212551f9d..78a02c984c 100644 --- a/control_plane/src/bin/attachment_service.rs +++ b/control_plane/src/bin/attachment_service.rs @@ -737,6 +737,15 @@ async fn handle_tenant_locate(req: Request) -> Result, ApiE )); } let shard_params = shard_params.expect("result is non-empty, therefore this is set"); + tracing::info!( + "Located tenant {} on shards {}", + tenant_id, + result + .iter() + .map(|s| format!("{:?}", s)) + .collect::>() + .join(",") + ); json_response( StatusCode::OK, diff --git a/control_plane/src/bin/neon_local.rs b/control_plane/src/bin/neon_local.rs index 22bf036810..bac106bc12 100644 --- a/control_plane/src/bin/neon_local.rs +++ b/control_plane/src/bin/neon_local.rs @@ -921,6 +921,7 @@ async fn handle_endpoint(ep_match: &ArgMatches, env: &local_env::LocalEnv) -> Re ) }) .collect::>(); + assert!(!pageservers.is_empty()); let stripe_size = locate_result.shard_params.stripe_size.map(|s| s.0 as usize); let ps_conf = env.get_pageserver_conf(pageserver_id)?; diff --git a/control_plane/src/endpoint.rs b/control_plane/src/endpoint.rs index 6f070c5fe8..fbd944e29a 100644 --- a/control_plane/src/endpoint.rs +++ b/control_plane/src/endpoint.rs @@ -481,6 +481,7 @@ impl Endpoint { } let pageserver_connstring = Self::build_pageserver_connstr(&pageservers); + assert!(!pageserver_connstring.is_empty()); let mut safekeeper_connstrings = Vec::new(); if self.mode == ComputeMode::Primary {