Я добился, что на трех репликах (каждая на своем сервере) с включенной опцией и insert_quorum=2 при моделировании проблем сети я получаю неконсистентные данные
-- ch1
create table adb.t1 (a UInt32, b Date) engine ReplicatedMergeTree('/clickhouse/tables/t1', 'r1') order by (a);
set insert_quorum=2;
set select_sequential_consistency=1;
system stop fetches;
-- ch2
create table adb.t1 (a UInt32, b Date) engine ReplicatedMergeTree('/clickhouse/tables/t1', 'r2') order by (a);
set insert_quorum=2;
set select_sequential_consistency=1;
-- ch3
create table adb.t1 (a UInt32, b Date) engine ReplicatedMergeTree('/clickhouse/tables/t1', 'r3') order by (a);
set insert_quorum=2;
set select_sequential_consistency=1;
system stop fetches;
-- ch1
insert into adb.t1 values (1, now());
-- на ch1 и ch2 ключ 1, на ch3 - Replica doesn't have part all_0_0_0
-- ch3
insert into adb.t1 values (2, now());
-- на ch3 ключ 2, на ch2 - ключи 1 и 2, на ch1 - Replica doesn't have part all_1_1_0
правильно ли я понимаю, что опция select_sequential_consistency смотрит, был ли достигнут кворум по последнему вставленному с использованием insert_quorum блока в zookeeper, а что там с предыдущими кворумными блоками, дореплицировались они или нет - у нас нет никаких гарантий?
Обсуждают сегодня