как мне заставить КХ возвращать результат запроса только после того, как всё по-настоящему окончательно переместилось?
replication_alter_partitions_sync=2 ?
Запрос типа такого
f'ALTER TABLE tb1 MOVE PARTITION {partition} TO TABLE tb2'
Переместил несколько десятков партиций из одной таблицы в другую, но запрос к system.parts ещё какое-то время продолжал отдавать одну из партиций, как будто она ещё в первой таблице.
SELECT DISTINCT partition
FROM system.parts
WHERE ...
Пока проверял, что реально осталось в исходной, перемещение, видимо, закончилось и рассосалось. Нужен стопроцентно надёжный результат
я читал код move около года назад, непонятно как это возможно, там управление возвращается когда move закончен. replicated таблицы? Проверяете на реплике? база atomic ? версия КХ ?
Версия 20.10.3.30 Таблица MergeTree Нода единственная, без репликаций atomic - хз
show create database currentDatabase()
[('CREATE DATABASE data_flat\nENGINE = Ordinary',)]
Обсуждают сегодня