From cca1ace651a3bcc177503c1bbcbf3b290bbad918 Mon Sep 17 00:00:00 2001 From: Dmitry Rodionov Date: Thu, 20 Oct 2022 23:20:28 +0300 Subject: [PATCH] make launch_wal_receiver infallible --- pageserver/src/tenant.rs | 4 +--- pageserver/src/tenant/timeline.rs | 8 +++----- pageserver/src/walreceiver/connection_manager.rs | 3 +-- 3 files changed, 5 insertions(+), 10 deletions(-) diff --git a/pageserver/src/tenant.rs b/pageserver/src/tenant.rs index 93c473f0fe..6aae740a78 100644 --- a/pageserver/src/tenant.rs +++ b/pageserver/src/tenant.rs @@ -191,9 +191,7 @@ impl UninitializedTimeline<'_> { ) })?; v.insert(Arc::clone(&new_timeline)); - new_timeline.launch_wal_receiver().with_context(|| { - format!("Failed to launch walreceiver for timeline {tenant_id}/{timeline_id}") - })?; + new_timeline.launch_wal_receiver(); } } diff --git a/pageserver/src/tenant/timeline.rs b/pageserver/src/tenant/timeline.rs index d6ce644bb5..8f325d31ec 100644 --- a/pageserver/src/tenant/timeline.rs +++ b/pageserver/src/tenant/timeline.rs @@ -602,11 +602,11 @@ impl Timeline { result } - pub fn launch_wal_receiver(self: &Arc) -> anyhow::Result<()> { + pub fn launch_wal_receiver(self: &Arc) { if !is_etcd_client_initialized() { if cfg!(test) { info!("not launching WAL receiver because etcd client hasn't been initialized"); - return Ok(()); + return; } else { panic!("etcd client not initialized"); } @@ -634,9 +634,7 @@ impl Timeline { walreceiver_connect_timeout, lagging_wal_timeout, max_lsn_wal_lag, - )?; - - Ok(()) + ); } /// diff --git a/pageserver/src/walreceiver/connection_manager.rs b/pageserver/src/walreceiver/connection_manager.rs index 01389e52f4..3a5d1c7ad6 100644 --- a/pageserver/src/walreceiver/connection_manager.rs +++ b/pageserver/src/walreceiver/connection_manager.rs @@ -47,7 +47,7 @@ pub fn spawn_connection_manager_task( wal_connect_timeout: Duration, lagging_wal_timeout: Duration, max_lsn_wal_lag: NonZeroU64, -) -> anyhow::Result<()> { +) { let mut etcd_client = get_etcd_client().clone(); let tenant_id = timeline.tenant_id; @@ -95,7 +95,6 @@ pub fn spawn_connection_manager_task( info_span!("wal_connection_manager", tenant = %tenant_id, timeline = %timeline_id), ), ); - Ok(()) } /// Attempts to subscribe for timeline updates, pushed by safekeepers into the broker.