v.20.5Improvement

Apply TTL for Old Data After ALTER MODIFY Query in ClickHouse

Apply TTL for old data, after ALTER MODIFY TTL query. This behaviour is controlled by setting materialize_ttl_after_modify, which is enabled by default. #11042 (Anton Popov).
Apply TTL rules to existing old data immediately after executing an ALTER MODIFY TTL query, ensuring timely data expiration and cleanup.

Why it matters

Previously, TTL modifications via ALTER MODIFY TTL did not apply to existing data until the next background cleanup, which could delay data expiration and retention policy enforcement. This feature enables immediate application of TTL to old data, improving data lifecycle management and resource utilization.

How to use it

The behavior is controlled by the setting materialize_ttl_after_modify, which is enabled by default. To use this feature, simply perform an ALTER MODIFY TTL statement. If needed, you can disable the immediate application by setting materialize_ttl_after_modify = 0.