apple / apple/swift-distributed-actors
Membership cleanup: implement join/joining in terms of mark()
Open
follow-up
size/S
t:cluster:membership
- Dominant language
- Swift
- Stars
- 679
- Forks
- 84
- PR merge metrics
- No merged PRs in 30d
Description
The paths are actually not so easy in there, since there's replacements and from/to to keep in mind etc.
It might be good to have only one path: `mark(node, as: )` and we always update or add a node.
`join` and `joining` can remain but should be only delegating to `mark`
Contributor guide
Research direction
Start by tracing the implementations of `join`, `joining`, and `mark`, then inspect how replacement and `from`/`to` cases are handled. Done means `join` and `joining` delegate to `mark` while preserving the existing membership-update behavior across those paths.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- swift
- Domain
- distributed-systems
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100