apple / apple/swift-distributed-actors

OpLogReceptionist should remove Replayers for down nodes

Open
#753 0 comments 0 reactions 0 assignees View on GitHub
1 - triaged kind/bug t:receptionist
Dominant language
Swift
Stars
677
Forks
85
PR merge metrics
No merged PRs in 30d

Description

In the periodic tick we should:

```
if let member = self.membership.member(of: peer),
!member.status.isLeaving,
!member.status.isDown {
self.sendAckOps(context, receptionistAddress: peer.address, maybeReceptionistRef: peer)
}
```

as well as just remove the replayer if the member is known to be down already.

We'll never confirm the deliveries and we should not keep them around -> remove the replayer.

Contributor guide

Open the contributing guide

Research direction

Locate OpLogReceptionist and its periodic tick, then read the membership-status handling around the shown sendAckOps condition. Verify the down-member path removes the replayer instead of retaining deliveries that cannot be confirmed; done means down nodes no longer keep replayers and non-down nodes retain the existing acknowledgement behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
distributed-systems
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.