Stability: The Poison-Pill Register
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Quiet
- Tech stack
- typescript
- Domain
- backend
Research direction
Start with the RolloutStateMachine and trace the polling loop, the incoming ETag, and execution of the provided onChange callback; resolve the dependency on issue #125 first. Done means callback failures are caught, the failed ETag is retained in the in-memory Poison-Pill Register, polling advances past it, and later intervals do not retry it.
Written by the indexing model from the issue text.
Description
Description
Implement the Poison-Pill Register within the RolloutStateMachine. Wrap the user's onChange callback execution in an error boundary. If the application-level callback throws an error while attempting to reconcile state with the new configuration, the SDK must permanently cache that specific ETag in memory. The state machine must update its internal tracking pointer to this failed ETag so that the continuous polling loop resumes but never attempts to apply that specific faulty configuration version again.
Acceptance criteria
-
Throwing an error inside the provided onChange callback adds the incoming ETag to the internal Poison-Pill Register.
-
The SDK does not enter a rapid-fire crash-loop if onChange fails.
-
Subsequent polling intervals correctly ignore the quarantined ETag.
Blocked by: #125
User stories covered: 6
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from MapColonies/config
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 45/100
MapColonies/config#129 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 52/100
MapColonies/config#127 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 38/100
MapColonies/config#126 ·
-
enhancement
Difficulty 4/5 3-5 days Newbie friendliness 48/100
MapColonies/config#125 ·
-
bug
Difficulty 3/5 1-2 days Newbie friendliness 35/100
MapColonies/config#75 ·
All issues in MapColonies/config
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
danielmiessler/LifeOS#2218 ·