v.23.11Improvement

Fetching Full Parts from Remote Replicas in ClickHouse

Fetching a part waits when that part is fully committed on remote replica. It is better not send part in PreActive state. In case of zero copy this is mandatory restriction. #56808 (Sema Checherinda).
Improved replica part fetching by ensuring that parts are only fetched after being fully committed on the remote replica, preventing the sending of parts in a PreActive state.

Why it matters

This feature addresses the issue of fetching data parts from replicas before they are fully committed, which can cause inconsistencies. It enforces waiting until the part is fully committed before fetching, which is especially critical for setups using zero-copy replication, where sending a PreActive part is not allowed.

How to use it

This behavior is applied automatically during part fetch operations between replicas. No additional user configuration is needed to benefit from this change; it ensures that only fully committed parts are transferred to replicas.