From 4a949af4b371c62c254c5eb8d51eb524a125922b Mon Sep 17 00:00:00 2001 From: Morgan Mccauley Date: Tue, 12 Nov 2024 11:14:02 +1300 Subject: [PATCH 1/2] fix: Prevent conflicting provisioning requests --- coordinator/src/handlers/data_layer.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/coordinator/src/handlers/data_layer.rs b/coordinator/src/handlers/data_layer.rs index 4b50f38b..8f4cf5e3 100644 --- a/coordinator/src/handlers/data_layer.rs +++ b/coordinator/src/handlers/data_layer.rs @@ -88,6 +88,7 @@ impl DataLayerHandlerImpl { pub fn connect(runner_url: &str) -> anyhow::Result { let channel = Channel::from_shared(runner_url.to_string()) .context("Runner URL is invalid")? + .rate_limit(1, std::time::Duration::from_secs(5)) .connect_lazy(); let client = DataLayerClient::new(channel); From ecf62f4423632ba6190cff7981ea2a2e2563ee82 Mon Sep 17 00:00:00 2001 From: Morgan Mccauley Date: Tue, 12 Nov 2024 14:09:55 +1300 Subject: [PATCH 2/2] test: Mock timer in lifecycle tests --- coordinator/src/lifecycle.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/coordinator/src/lifecycle.rs b/coordinator/src/lifecycle.rs index 3d29967e..204c1189 100644 --- a/coordinator/src/lifecycle.rs +++ b/coordinator/src/lifecycle.rs @@ -699,6 +699,8 @@ mod tests { #[tokio::test] async fn restarts_unhealthy_stream() { + tokio::time::pause(); + let config = IndexerConfig::default(); let mut state = IndexerState { lifecycle_state: LifecycleState::Running, @@ -953,6 +955,8 @@ mod tests { #[tokio::test] async fn restarts_unhealthy_executor() { + tokio::time::pause(); + let config = IndexerConfig::default(); let mut state = IndexerState { lifecycle_state: LifecycleState::Running,