diff --git a/src/server/scheduler.rs b/src/server/scheduler.rs index 23341cea..564aa59a 100644 --- a/src/server/scheduler.rs +++ b/src/server/scheduler.rs @@ -17,7 +17,7 @@ use crate::{ commons::{ actor::Actor, crypto::dispatch::signerinfo::SignerInfo, - error::FatalError, + error::{Error, FatalError}, eventsourcing::{Aggregate, AggregateStore, WalStore, WalSupport}, storage::Ident, version::KrillVersion, @@ -378,11 +378,18 @@ impl Scheduler { { Err(e) => { let next = self.config.requeue_remote_failed(); - - error!( - "Failed to synchronize CA '{ca}' with its parent '{parent}'. Will reschedule to: '{next}'. Error: {e}" - ); - Ok(TaskResult::Reschedule(next)) + + if let Error::CaParentUnknown(..) = e { + warn!( + "CA '{ca}' tried to sync with parent '{parent}'. Parent is unknown. Not rescheduling. Error: {e}" + ); + Ok(TaskResult::Done) + } else { + error!( + "Failed to synchronize CA '{ca}' with its parent '{parent}'. Will reschedule to: '{next}'. Error: {e}" + ); + Ok(TaskResult::Reschedule(next)) + } } Ok(true) => { let next = self.config.ca_refresh_next();