делает полную копию таблицы?
он не делает полную копию таблицы, он может потом стриггерить scheduled merge чтобы новый TTL применился
SELECT * FROM system.part_log
ну если у вас сложное выражение, то он должен его для всей таблицы подсчитать и вычистить старые строки (в фоне). Если у вас ttl_only_drop_parts=0 - это норма. у нас была проблема с materialize ttl. ждали 8 часов пока каждый парт сам себя перезапишет несмотря на ttl_only_drop_parts=1. откройте тикет, а то там когда что-то починено, другое ломается https://github.com/ClickHouse/ClickHouse/issues/9568 мастертикет: https://github.com/ClickHouse/ClickHouse/issues/10128
Хм, странно, алтер висел очень долго и место на репликах забил (для полной копии места действительно не хватало)
Сразу делал ttl_only_drop_parts=1 по рекомендациям из этого чатика
тогда тот же баг что и у нас был, заведите тикет. КХ должен просто дропать парты, но он зачем то их пытается перезаписать... но мы перешли на самописный скрипт, потому что продакшн, боль с этим ТТЛ, и все дела
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.
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.
О! То есть можно просто алтер сделать без materialize_ttl_after_modify, а потом уже сделать alter … materialize ttl
да блин. Может доку почитаете сначала? materialize_ttl_after_modify -- это пользовательский параметр, в сессии ставится
Обсуждают сегодня