Skip to content

Commit

Permalink
pageserver: more detailed logs when calling re-attach
Browse files Browse the repository at this point in the history
  • Loading branch information
jcsp committed Dec 3, 2024
1 parent c18716b commit a72adba
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 6 deletions.
4 changes: 2 additions & 2 deletions libs/pageserver_api/src/controller_api.rs
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ pub struct TenantCreateResponse {
pub shards: Vec<TenantCreateResponseShard>,
}

#[derive(Serialize, Deserialize)]
#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct NodeRegisterRequest {
pub node_id: NodeId,

Expand All @@ -75,7 +75,7 @@ pub struct TenantPolicyRequest {
pub scheduling: Option<ShardSchedulingPolicy>,
}

#[derive(Clone, Serialize, Deserialize, PartialEq, Eq, Hash)]
#[derive(Clone, Serialize, Deserialize, PartialEq, Eq, Hash, Debug)]
pub struct AvailabilityZone(pub String);

impl Display for AvailabilityZone {
Expand Down
12 changes: 9 additions & 3 deletions pageserver/src/controller_upcall_client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,10 @@ impl ControllerUpcallClient {

Ok(res)
}

pub(crate) fn base_url(&self) -> &Url {
&self.base_url
}
}

impl ControlPlaneGenerationsApi for ControllerUpcallClient {
Expand Down Expand Up @@ -191,13 +195,15 @@ impl ControlPlaneGenerationsApi for ControllerUpcallClient {

let request = ReAttachRequest {
node_id: self.node_id,
register,
register: register.clone(),
};

let response: ReAttachResponse = self.retry_http_forever(&re_attach_path, request).await?;
tracing::info!(
"Received re-attach response with {} tenants",
response.tenants.len()
"Received re-attach response with {} tenants (node {}, register: {:?})",
response.tenants.len(),
self.node_id,
register,
);

failpoint_support::sleep_millis_async!("control-plane-client-re-attach");
Expand Down
2 changes: 1 addition & 1 deletion pageserver/src/tenant/mgr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -347,7 +347,7 @@ async fn init_load_generations(
);
emergency_generations(tenant_confs)
} else if let Some(client) = ControllerUpcallClient::new(conf, cancel) {
info!("Calling control plane API to re-attach tenants");
info!("Calling {} API to re-attach tenants", client.base_url());
// If we are configured to use the control plane API, then it is the source of truth for what tenants to load.
match client.re_attach(conf).await {
Ok(tenants) => tenants
Expand Down

0 comments on commit a72adba

Please sign in to comment.