protected void A_cluster_router_with_consistent_hashing_pool_must_remove_routees_from_downed_node()
{
RunOn(() =>
{
Cluster.Down(GetAddress(_config.Third));
//removed
AwaitAssert(() => Assert.False(ClusterView.UnreachableMembers.Select(x => x.Address).Contains(GetAddress(_config.Third))));
AwaitAssert(() => Assert.False(ClusterView.Members.Select(x => x.Address).Contains(GetAddress(_config.Third))));
// it may take some time until router receives cluster member events
AwaitAssert(() =>
{
CurrentRoutees(Router1).Members.Count().ShouldBe(4);
});
var routees = CurrentRoutees(Router1);
var routerMembers = routees.Members.Select(x => FullAddress(((ActorRefRoutee)x).Actor)).Distinct().ToList();
routerMembers.ShouldBe(new List<Address>() { GetAddress(_config.First), GetAddress(_config.Second) });
}, _config.First);
EnterBarrier("after-8");
}
}