Skip to content

Sanity check if we emit "double" unreachable events or not? #411

@ktoso

Description

@ktoso

Saw during #376 but don't want to delay merging it and reachability events doubles are not "incorrect" but should not happen - we should protect from this.

See:

Test Case '-[DistributedActorsTests.DowningClusteredTests test_stopLeader_by_shutdownSelf_shouldPropagateToOtherNodes]' started.
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:69 : Expecting [ActorSystem(first, sact://first@localhost:9001)] to become [.down], method to stop the node [shutdownSelf]
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:96 : ReachabilityChange on sact://second@localhost:9002 = ReachabilityChange(member: Member(sact://first:3734179832@localhost:9001, status: up, reachability: unreachable))
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:93 : MembershipChange on sact://second@localhost:9002: Cluster.MembershipChange(node: sact://first@localhost:9001, replaced: [nil], fromStatus: up, toStatus: down)
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:90 : MembershipChange on sact://second@localhost:9002: Cluster.MembershipChange(node: sact://first@localhost:9001, replaced: [nil], fromStatus: down, toStatus: removed)
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:96 : ReachabilityChange on sact://second@localhost:9002 = ReachabilityChange(member: Member(sact://first:3734179832@localhost:9001, status: up, reachability: unreachable))
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:93 : MembershipChange on sact://third@localhost:9003: Cluster.MembershipChange(node: sact://first@localhost:9001, replaced: [nil], fromStatus: up, toStatus: down)
/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:90 : MembershipChange on sact://third@localhost:9003: Cluster.MembershipChange(node: sact://first@localhost:9001, replaced: [nil], fromStatus: down, toStatus: removed)
Test Case '-[DistributedActorsTests.DowningClusteredTests test_stopLeader_by_shutdownSelf_shouldPropagateToOtherNodes]' passed (13.072 seconds).

theres two

/Users/ktoso/code/actors/Tests/DistributedActorsTests/Cluster/DowningStrategy/DowningClusteredTests.swift:96 : ReachabilityChange on sact://second@localhost:9002 = ReachabilityChange(member: Member(sact://first:3734179832@localhost:9001, status: up, reachability: unreachable))

We should only see one, OR a flip flap between reachable and not.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions