The ZK root-path ensure is now cancellable and runs under the reconcile context, so superseding or cancelling a reconcile interrupts it instead of spending its full retry budget — roughly 8 minutes per ZooKeeper operation, and two operations per path component — dialing an unreachable ensemble. An ensure that exhausts its retries now also raises a `CreateFailed` event, rather than only a log line; it remains non-fatal, because ClickHouse creates the root path itself on first DDL. The ensure is additionally skipped on recovery passes that repeat an already-completed generation with no pending work, so recovering an unhealthy host no longer re-dials the ensemble. The ZK client library's own per-attempt dial logging is routed through the operator's logger, and per-attempt retry detail is logged at `-v=1`.
0 commit comments