diff --git a/pageserver/src/bin/pageserver.rs b/pageserver/src/bin/pageserver.rs index c6659345f9..782122139e 100644 --- a/pageserver/src/bin/pageserver.rs +++ b/pageserver/src/bin/pageserver.rs @@ -398,9 +398,7 @@ fn start_pageserver( ControllerUpcallClient::new(conf, &shutdown_pageserver), conf, ); - if let Some(deletion_workers) = deletion_workers { - deletion_workers.spawn_with(BACKGROUND_RUNTIME.handle()); - } + deletion_workers.spawn_with(BACKGROUND_RUNTIME.handle()); // Up to this point no significant I/O has been done: this should have been fast. Record // duration prior to starting I/O intensive phase of startup. diff --git a/pageserver/src/deletion_queue.rs b/pageserver/src/deletion_queue.rs index 7733bdb640..37fa300467 100644 --- a/pageserver/src/deletion_queue.rs +++ b/pageserver/src/deletion_queue.rs @@ -618,13 +618,11 @@ impl DeletionQueue { /// Caller may use the returned object to construct clients with new_client. /// Caller should tokio::spawn the background() members of the two worker objects returned: /// we don't spawn those inside new() so that the caller can use their runtime/spans of choice. - /// - /// If remote_storage is None, then the returned workers will also be None. pub fn new( remote_storage: GenericRemoteStorage, controller_upcall_client: Option, conf: &'static PageServerConf, - ) -> (Self, Option>) + ) -> (Self, DeletionQueueWorkers) where C: ControlPlaneGenerationsApi + Send + Sync, { @@ -656,7 +654,7 @@ impl DeletionQueue { }, cancel: cancel.clone(), }, - Some(DeletionQueueWorkers { + DeletionQueueWorkers { frontend: ListWriter::new(conf, rx, backend_tx, cancel.clone()), backend: Validator::new( conf, @@ -667,7 +665,7 @@ impl DeletionQueue { cancel.clone(), ), executor: Deleter::new(remote_storage, executor_rx, cancel.clone()), - }), + }, ) } @@ -742,9 +740,7 @@ mod test { ); tracing::debug!("Spawning worker for new queue queue"); - let worker_join = workers - .unwrap() - .spawn_with(&tokio::runtime::Handle::current()); + let worker_join = workers.spawn_with(&tokio::runtime::Handle::current()); let old_worker_join = std::mem::replace(&mut self.worker_join, worker_join); let old_deletion_queue = std::mem::replace(&mut self.deletion_queue, deletion_queue); @@ -855,7 +851,6 @@ mod test { harness.conf, ); - let worker = worker.unwrap(); let worker_join = worker.spawn_with(&tokio::runtime::Handle::current()); Ok(TestSetup {