This commit is contained in:
Conrad Ludgate
2023-12-08 15:58:17 +00:00
parent ff34746d21
commit cd277a1420
4 changed files with 23 additions and 7 deletions

View File

@@ -255,7 +255,9 @@ async fn auth_and_wake_compute(
let mut num_retries = 0;
let mut node = loop {
let wake_res = api.wake_compute(extra, &compute_credentials.info, latency_timer).await;
let wake_res = api
.wake_compute(extra, &compute_credentials.info, latency_timer)
.await;
match handle_try_wake(wake_res, num_retries) {
Err(e) => {
error!(error = ?e, num_retries, retriable = false, "couldn't wake compute node");
@@ -411,9 +413,17 @@ impl BackendType<'_, ComputeUserInfo> {
use BackendType::*;
match self {
Console(api, creds) => api.wake_compute(extra, creds, latency_timer).map_ok(Some).await,
Console(api, creds) => {
api.wake_compute(extra, creds, latency_timer)
.map_ok(Some)
.await
}
#[cfg(feature = "testing")]
Postgres(api, creds) => api.wake_compute(extra, creds, latency_timer).map_ok(Some).await,
Postgres(api, creds) => {
api.wake_compute(extra, creds, latency_timer)
.map_ok(Some)
.await
}
Link(_) => Ok(None),
#[cfg(test)]
Test(x) => x.wake_compute().map(Some),

View File

@@ -6,7 +6,9 @@ use super::messages::MetricsAuxInfo;
use crate::{
auth::backend::ComputeUserInfo,
cache::{timed_lru, TimedLru},
compute, scram, proxy::LatencyTimer,
compute,
proxy::LatencyTimer,
scram,
};
use async_trait::async_trait;
use dashmap::DashMap;

View File

@@ -6,8 +6,8 @@ use super::{
errors::{ApiError, GetAuthInfoError, WakeComputeError},
AuthInfo, AuthSecret, CachedNodeInfo, ConsoleReqExtra, NodeInfo,
};
use crate::{auth::backend::ComputeUserInfo, compute, error::io_error, scram, url::ApiUrl};
use crate::proxy::LatencyTimer;
use crate::{auth::backend::ComputeUserInfo, compute, error::io_error, scram, url::ApiUrl};
use async_trait::async_trait;
use futures::TryFutureExt;
use thiserror::Error;

View File

@@ -750,9 +750,13 @@ where
info!("compute node's state has likely changed; requesting a wake-up");
let node_info = loop {
let wake_res = match creds {
auth::BackendType::Console(api, creds) => api.wake_compute(extra, creds, &mut latency_timer).await,
auth::BackendType::Console(api, creds) => {
api.wake_compute(extra, creds, &mut latency_timer).await
}
#[cfg(feature = "testing")]
auth::BackendType::Postgres(api, creds) => api.wake_compute(extra, creds, &mut latency_timer).await,
auth::BackendType::Postgres(api, creds) => {
api.wake_compute(extra, creds, &mut latency_timer).await
}
// nothing to do?
auth::BackendType::Link(_) => return Err(err.into()),
// test backend