Organisationsocurrentobuilder439649

Fix ENOENT on shared build steps from stale log path A finished build log was parked in the Readonly state holding its in-progress path, but the store renames the build directory into place on success. A late-joining log tailer (e.g. a sibling build sharing a deduplicated step) reopening that path after the rename hit ENOENT (..., "open", ".../in-progress/<id>/log"). Retain a read-only dup of the fd in the finished state and read from it instead of reopening by path; the fd follows the file through the rename. On Windows the fd must be closed before the directory can be renamed, so it keeps reopening by path there. Add a regression test asserting a finished log stays readable after its directory is renamed.

Jun 18 14:05 +00:00
4m59s
*Variants labelled (experimental) are still undergoing testing; if they have failed it may be a bug in OCaml-CI.