Обсуждаем ClickHouse
Ну вот странно, что у меня почти все имеет тип GET_PART, а в system.replicated_fetches я не вижу ничего. Фильтр по is_currently_executing в replication_queue спасает ситуацию. Но вышеописанных причин я так и не понимаю.
Читать полностью…а в system.replication_queue тип GET_PART все равно отображается для таких фетчей?
Читать полностью…Всем привет.
Почему system.replicated_fetches может быть пустой, а system.replication_queue при этом иметь сотни записей вида "Not executing fetch of part all_398002_398002_0 because 8 fetches already executing, max 8."?
23.8
ttl_only_drop_parts =1 не позволит делать долгие ttl мутации
Читать полностью…я к тому, что для применения ttl запускается мутация, и там 628 партов осталось, мутация к одному парту применяется долго
Читать полностью…будут, у вас уже ttl есть, старое правило сработает, но ttl_only_drop_parts =1 позволит старому правилу только раз в сутки дропнуть парт
Читать полностью…но без материализации не будет применения и старые парты не удалятся?
Читать полностью…хорошо, смотрим. там же TTL долго применяться будет, ко всем партам?
Читать полностью…ясно, сделайте
TTL toStartOfDay(TimeReceived) + toIntervalMonth(4)
SETTINGS index_granularity = 8192, storage_policy = 'data_policy', always_fetch_merged_part = false,
ttl_only_drop_parts =1
toYYYYMMDD(Date)
TTL TimeReceived
т.е. удаление из всех партиций ? Date и TimeReceived не связаны?
покажите кусок определения таблицы Engine... partition by ... order by... ttl
Читать полностью…да, куча места свободно, а оперативных данных нет. останавливаю materialize ttl, начинают появляться
Читать полностью…Всем привет!
Подскажите пожалуйста, как пофиксить ошибку
"All commit attempts failed. Last block was already written to target table(s), but was not committed to Kafka."
Не дает новые данные записать
engine=buffer ? не будет, он в памяти хранит.
А у вас часто падает КХ или целиком сервер?
system.replication_queue where is_currently_executing
Читать полностью…потому что в 23.8 если мержу чтобы выполнится нужен был парт которого нет, мерж качал этот парт, но такой фетч не отображался в replicated_fetches (типа это merge, а не get операция)
можно их посмотреть типа как-то find /var/lib/clickh... -name 'fetch*'
alter table ... on cluster drop partition ...
Читать полностью…ну и вы можете сами сделать alter table ... on cluster drop partition ... если надо прям сейчас
Читать полностью…ниче не понял, я рекомендую как сделать чтобы TTL моментально удалял парты целиком, не занимая место и не используя cpu
Читать полностью…вы можете сделать вот такое
set materialize_ttl_after_modify=0;
alter table .. on cluster ... modify TTL toStartOfDay(TimeReceived) + toIntervalMonth(4);
ну modify settings ttl_only_drop_parts =1 сразу на cluster
Читать полностью…Date вычисляется из TimeReceived:
Читать полностью…
AS SELECT
toDate(TimeReceived) AS Date,
ENGINE = ReplicatedMergeTree('/clickhouse/tables/{uuid}/{shard}', '{replica}')Читать полностью…
PARTITION BY toYYYYMMDD(Date)
ORDER BY TimeReceived
TTL TimeReceived + toIntervalMonth(4)
SETTINGS index_granularity = 8192, storage_policy = 'data_policy', always_fetch_merged_part = false
почему всё началось: у таблиц TTL не работает, старые данные не удаляются. плюс сообщения Checksums of parts don't match. место постепенно кончается, руками парты удалять такое себе удовольствие
Читать полностью…Подскажите пожалуйста, вроде был какой-то сеттинг, который позволяет сделать limit не на всю выборку из распределённой таблицы, а из каждого шарда.
Читать полностью…у нас - нет, вопрос про потерю данных при падении был не мой =D
Читать полностью…я думал только для персистируемых движков
Читать полностью…