`make-dir-store` is not atomic
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 45/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Stale
- Domain
- backend
Research direction
Start with web-server-lib/web-server/stuffers/store.rkt, especially make-dir-store at the linked lines, and read how it currently writes the store file. Compare that path with call-with-atomic-output-file and verify that a write leaves either the previous complete file or a new complete file, not a partially written one.
Written by the indexing model from the issue text.
Description
While looking at a Discourse thread, I noticed that make-dir-store uses (with-output-to-file #:exists 'replace ...):
It seems like it would be better to use call-with-atomic-output-file here: if somehow you ended up with a partially-written file, it seems like it would be very painful to debug.
- Dominant language
- Racket
- Stars
- 100
- Forks
- 48
- 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 racket/web-server
-
Difficulty 1/5 Under an hour Newbie friendliness 70/100
racket/web-server#46 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
racket/web-server#141 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
racket/web-server#140 ·
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
racket/web-server#131 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
racket/web-server#127 ·
All issues in racket/web-server
Similar issues
-
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
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 72/100