8000 fix: propagate preliminary aux ConfigMap errors during reconcile (fixes #2094) by Tyagiquamar · Pull Request #2110 · Altinity/clickhouse-operator · GitHub
[go: up one dir, main page]

Skip to content

fix: propagate preliminary aux ConfigMap errors during reconcile (fixes #2094) - #2110

Open
Tyagiquamar wants to merge 2 commits into
Altinity:masterfrom
Tyagiquamar:fix/preliminary-configmap-error-propagation-2094
Open

Tyagiquamar wants to merge 2 commits into
Altinity:masterfrom
Tyagiquamar:fix/preliminary-configmap-error-propagation-2094

Conversation

@Tyagiquamar
@Tyagiquamar Tyagiquamar commented Oct 21, 2026 •
Copy link
Copy Markdown

Summary

Reconcile stops when the preliminary common ConfigMaps fail, instead of continuing on to StatefulSets that mount those ConfigMaps.

Root cause

reconcileCRAuxObjectsPreliminary in the ClickHouse and ClickHouse Keeper workers logged errors from reconcileConfigMapCommon and reconcileConfigMapCommonUsers, then returned nil. The walk continued, pods entered Init waiting on mounts that were never created, and the reconcile sat in the StatefulSet wait (300s).

Solution

Those ConfigMap errors are returned to the caller. A regression test drives a preliminary failure and expects reconcile to stop.

Test plan

pkg/controller/chi/worker-reconciler-chi_test.go covers the preliminary-failure path.

Fixes #2094

reconcileCRAuxObjectsPreliminary in both chi and chk workers previously swallowed errors from reconcileConfigMapCommon and reconcileConfigMapCommonUsers, logging the failure but returning nil. This allowed WalkTillError to proceed directly to reconciling clusters and creating StatefulSets/Pods while common ConfigMaps were absent, causing pods to hang in Init waiting on non-existent mounts and stalling for the 300s StatefulSet wait timeout.

Return the error from reconcileCRAuxObjectsPreliminary immediately so WalkTillError halts promptly when preliminary ConfigMaps fail, and add regression tests.

Fixes Altinity#2094

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

1 participant

0