Skip to content

MemberRemoved

Defined in: src/cluster/ClusterEvents.ts:74

Member removed from the cluster. Fires on two distinct paths:

  • Definitive removalhandleLeave (peer sent leave) and evaluateDowning (force-down via a DowningProvider) mark the address as a tombstone: the entry stays in the local members map with status === 'removed' and a removedAt timestamp, so stale gossip from a slow peer can’t resurrect the address. The tombstone is reclaimed by tombstonePruneTick once tombstoneTtlMs (default 24 h) has elapsed — see #75 for the full lifecycle.
  • FD-driven — the failure detector’s elapsed-time unreachable → down → removed cascade. Here the entry is deleted outright (no tombstone) so a healed partition can re-discover the peer.

Public APIs (getMembers, upMembers, reachableMembers) skip removed entries, so most user code stays unaffected. Code that iterates the raw membership view directly should check member.status !== 'removed' (or use member.isReachable(), which already returns false for removed). An attempt to Cluster.join on the same host:port after MemberRemoved will still work — the framework detects the new incarnation via mergeMember’s wall-clock version epoch and supersedes the tombstone. See tests/cluster.test.ts → “a node that gracefully left can rejoin on the same address”.

new MemberRemoved(member): MemberRemoved

Defined in: src/cluster/ClusterEvents.ts:74

Member

MemberRemoved

readonly member: Member

Defined in: src/cluster/ClusterEvents.ts:74