колонка Path, тип которой в MT - LowCardinality(String), а в Distributed просто string.
После обновления 20.3 на 21.8 в журналах стали сыпаться замечания:
"<Warning> DistributedBlockOutputStream: Structure does not match (remote: Path LowCardinality(String) ColumnLowCardinality(size = 0, UInt8(size = 0),... implicit conversion will be done."
Я проверил, если создать в Distributed эту колонку с типом LowCardinality(String), то всё в порядке. Мы так и сделаем, но хотел уточнить, нет ли на ваш взгляд здесь баги? Просто LowCardinality это про хранение данных, а таблица Distributed не хранит данные, действительно ли нужно объявлять там колонки с типом LowCardinality(whatever)?
Нету бага, так как Distributed таблица сохраняет данные на диск
Раньше КХ просто сегфолтил когда в таблице было LowCardinlity а в Distributed String. Вам зачем разные типы ? Одинаковые типы должны быть. LowCardinlity вообще сложный тип, он не про хранение. Он даже до клиента КХ может в виде LowCardinality доехать без анбоксинга
Обсуждают сегодня