diff --git a/crates/stackable-webhook/CHANGELOG.md b/crates/stackable-webhook/CHANGELOG.md index dc659f8aa..2a5c3cda5 100644 --- a/crates/stackable-webhook/CHANGELOG.md +++ b/crates/stackable-webhook/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Fixed + +- Don't error in case the `initial_reconcile` Receiver is dropped ([#1133]). + +[#1133]: https://github.com/stackabletech/operator-rs/pull/1133 + ## [0.8.0] - 2025-12-32 ### Added diff --git a/crates/stackable-webhook/src/webhooks/conversion_webhook.rs b/crates/stackable-webhook/src/webhooks/conversion_webhook.rs index 31f099e5f..0e779ee4e 100644 --- a/crates/stackable-webhook/src/webhooks/conversion_webhook.rs +++ b/crates/stackable-webhook/src/webhooks/conversion_webhook.rs @@ -18,7 +18,7 @@ use kube::{ Api, Client, ResourceExt, api::{Patch, PatchParams}, }; -use snafu::{ResultExt, Snafu, ensure}; +use snafu::{ResultExt, Snafu}; use tokio::sync::oneshot; use tracing::instrument; @@ -27,9 +27,6 @@ use crate::WebhookServerOptions; #[derive(Debug, Snafu)] pub enum ConversionWebhookError { - #[snafu(display("failed to send initial CRD reconcile heartbeat"))] - SendInitialReconcileHeartbeat, - #[snafu(display("failed to patch CRD {crd_name:?}"))] PatchCrd { source: kube::Error, @@ -262,10 +259,9 @@ where // After the reconciliation of the CRDs, the initial reconcile heartbeat is sent out // via the oneshot channel. if let Some(initial_reconcile_tx) = self.initial_reconcile_tx.take() { - ensure!( - initial_reconcile_tx.send(()).is_ok(), - SendInitialReconcileHeartbeatSnafu - ); + // This call will (only) error in case the receiver is dropped, so we need to ignore + // failures. + let _ = initial_reconcile_tx.send(()); } Ok(())