-- Tags: no-replicated-database -- Tag no-replicated-database: different number of replicas create table rmt1 (n int) engine=ReplicatedMergeTree('/test/{database}/02438/', '1') order by tuple(); create table rmt2 (n int) engine=ReplicatedMergeTree('/test/{database}/02438/', '2') order by tuple(); system stop replicated sends rmt1; system stop merges rmt2; set insert_keeper_fault_injection_probability=0; insert into rmt1 values (1); insert into rmt1 values (2); system sync replica rmt2 pull; -- does not wait select type, new_part_name from system.replication_queue where database=currentDatabase() and table='rmt2' order by new_part_name; select 1, n, _part from rmt1 order by n; select 2, n, _part from rmt2 order by n; set optimize_throw_if_noop = 1; system sync replica rmt1 pull; optimize table rmt1 final; system start replicated sends rmt1; system sync replica rmt2 lightweight; -- waits for fetches, not merges select type, new_part_name from system.replication_queue where database=currentDatabase() and table='rmt2' order by new_part_name; select 3, n, _part from rmt1 order by n; select 4, n from rmt2 order by n; select type, new_part_name from system.replication_queue where database=currentDatabase() and table='rmt2' order by new_part_name; system start merges rmt2; system sync replica rmt2; insert into rmt2 values (3); system sync replica rmt2 pull; optimize table rmt2 final; system sync replica rmt1 strict; select 5, n, _part from rmt1 order by n; select 6, n, _part from rmt2 order by n; drop table rmt1; drop table rmt2;