MapColonies / MapColonies/config
Resiliency: Infrastructure Backoff & Best-Effort Release
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 0
- Forks
- 0
- PR merge metrics
- No merged PRs in 30d
Description
### Description
Fortify the LockCoordinator with infrastructure backoffs and best-effort cleanup logic. If the config-server returns 5xx infrastructure errors or network timeouts during lock acquisition, the SDK must back off exponentially (e.g., 1s, 2s, 4s, 8s) to protect the backend. Additionally, the final releaseLock execution within the cleanup block must silently swallow network errors, ensuring that transient cleanup failures do not crash the successfully updated Node process.
### Acceptance criteria
- [ ] Simulating a 5xx error or network timeout during lock acquisition triggers exponential backoff (verified via undici MockAgent and vi.useFakeTimers()).
- [ ] Simulating a network error during the releaseLock call successfully catches and swallows the error without throwing an unhandled exception to the main Node process.
### Blocked by
Issue #126
User stories covered: 8, 9
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.
Research direction
The work centers on LockCoordinator lock acquisition and the cleanup-block releaseLock call; it is blocked by issue #126. Start by locating those entry points, then use undici MockAgent with vi.useFakeTimers() to verify exponential backoff for 5xx and timeout failures, and confirm releaseLock network errors are swallowed without an unhandled exception.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100