This is an automated email from the ASF dual-hosted git repository. rnewson pushed a commit to branch auto-delete-3 in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit cbf1c09722fd82e85a3b29933e9fa2c2710d6601 Author: Robert Newson <[email protected]> AuthorDate: Mon May 12 15:51:07 2025 +0100 moar test --- src/fabric/src/fabric_drop_seq.erl | 65 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/src/fabric/src/fabric_drop_seq.erl b/src/fabric/src/fabric_drop_seq.erl index 44c5abc7d..6749b315b 100644 --- a/src/fabric/src/fabric_drop_seq.erl +++ b/src/fabric/src/fabric_drop_seq.erl @@ -769,4 +769,69 @@ go_int_test_() -> ) ]. +go_int2_test_() -> + Range = [0, 10], + Subrange1 = [0, 5], + Subrange2 = [6, 10], + Node1 = '[email protected]', + Node2 = '[email protected]', + Shards = [ + #shard{range = Subrange1, node = Node1}, + #shard{range = Subrange2, node = Node1}, + #shard{range = Subrange1, node = Node2}, + #shard{range = Subrange2, node = Node2} + ], + UuidMap = #{ + {Subrange1, Node1} => <<"s1n1">>, + {Subrange2, Node1} => <<"s2n1">>, + {Subrange1, Node2} => <<"s1n2">>, + {Subrange2, Node2} => <<"s2n2">> + }, + ShardSyncHistory = + #{ + {Subrange1, Node1, Node2} => [ + {<<"s1n1">>, 100, <<"s1n2">>, 99}, + {<<"s1n1">>, 75, <<"s1n2">>, 76}, + {<<"s1n1">>, 50, <<"s1n2">>, 51}, + {<<"s1n1">>, 12, <<"s1n2">>, 11} + ], + {Subrange2, Node1, Node2} => [ + {<<"s2n1">>, 100, <<"s2n2">>, 99}, + {<<"s2n1">>, 75, <<"s2n2">>, 76}, + {<<"s2n1">>, 50, <<"s2n2">>, 51}, + {<<"s2n1">>, 12, <<"s2n2">>, 11} + ], + {Subrange1, Node2, Node1} => [ + {<<"s1n2">>, 100, <<"s1n1">>, 99}, + {<<"s1n2">>, 75, <<"s1n1">>, 76}, + {<<"s1n2">>, 50, <<"s1n1">>, 51}, + {<<"s1n2">>, 12, <<"s1n1">>, 11} + ], + {Subrange2, Node2, Node1} => [ + {<<"s2n2">>, 100, <<"s2n1">>, 99}, + {<<"s2n2">>, 75, <<"s2n1">>, 76}, + {<<"s2n2">>, 50, <<"s2n1">>, 51}, + {<<"s2n2">>, 12, <<"s2n1">>, 11} + ] + }, + [ + ?_assertEqual( + #{ + {Subrange1, Node1} => {<<"s1n1">>, 11}, + {Subrange2, Node1} => {<<"s2n1">>, 11}, + {Subrange1, Node1} => {<<"s2n1">>, 11}, + {Subrange2, Node2} => {<<"s2n2">>, 11} + }, + element( + 2, + go_int( + Shards, + UuidMap, + #{{Range, Node1} => {<<"ignored">>, 12}}, + ShardSyncHistory + ) + ) + ) + ]. + -endif.
