Skip to content

fix: propagate non-contention lock acquisition errors - #11

Merged
CL-BAF merged 1 commit into
CL-BAF:mainfrom
fatihcvs:fix/lock-acquisition-errors
Sep 22, 2026
Merged

CL-BAF merged 1 commit into
CL-BAF:mainfrom
fatihcvs:fix/lock-acquisition-errors

Conversation

@fatihcvs

Copy link
Copy Markdown
Contributor

Only EEXIST now enters lock contention handling in StateStore and OrchestratorStore. EACCES, EROFS and EMFILE propagate immediately with their original error instead of becoming a five-second lock timeout. Orchestrator lock metadata writing also runs under cleanup after successful acquisition.

Closes #5.

Validation: typecheck and build pass; unit suite 345 passed / 1 skipped; both contract tests pass. Eight regression cases cover immediate original errors and EEXIST retry across both stores. Touched files pass Prettier. Repository-wide format checking reports 89 existing unrelated files; they are unchanged.

AI assistance: implemented and tested with OpenAI Codex. Live provider integration was not exercised.

@CL-BAF
CL-BAF merged commit 98e65c9 into CL-BAF:main Sep 22, 2026
1 check passed
@CL-BAF

CL-BAF commented Sep 22, 2026

Copy link
Copy Markdown
Owner

Looks good. Thanks for fixing the lock error handling and adding regression coverage for both stores.

@fatihcvs

Copy link
Copy Markdown
Contributor Author

You're welcome! Thanks for reviewing and merging the fix.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Do not treat all state lock filesystem errors as lock contention

2 participants