Skip to content

fix(cache): distinguish missing metadata from read errors - #16422

Merged
rgrinberg merged 1 commit into
ocaml:mainfrom
rgrinberg:push-nyrponvzlqmp
Sep 19, 2026
Merged

rgrinberg merged 1 commit into
ocaml:mainfrom
rgrinberg:push-nyrponvzlqmp

Conversation

@rgrinberg

Copy link
Copy Markdown
Member

Fix the metadata read-error misclassification demonstrated in #16408.

Read cache metadata as binary canonical S-expressions and treat only Unix.ENOENT as missing. Preserve other IO errors instead of hiding them behind Not_found_in_cache, and remove the obsolete Sys_error handling.

Update the cram regression to expect EISDIR when the metadata path is a nonempty directory.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
@rgrinberg
rgrinberg merged commit 3086966 into ocaml:main Sep 19, 2026
38 of 39 checks passed
@Alizter Alizter added this to the 3.25.0 milestone Sep 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants