keep web requests off rebuild path

This commit is contained in:
udo
2026-07-13 12:25:42 +00:00
parent 5195ebeb25
commit 97ecc6edd6
6 changed files with 37 additions and 8 deletions
+7 -6
View File
@@ -138,12 +138,13 @@ following allocator/relocation call even though no guest loop consumed it.
The proactive compiler and request workers coordinate through a per-unit file
lock. Unit compilation writes and validates a process-unique temporary wasm
file, then publishes it with an atomic rename. While another process holds the
lock for a stale unit, a request may therefore keep using the last complete
artifact instead of waiting across a transitive rebuild. Once the lock is
released, normal freshness checks require the new artifact; a failed rebuild
removes availability and surfaces the compiler error rather than serving the
old unit indefinitely.
file, then publishes it with an atomic rename. When proactive compilation is
enabled, HTTP and WebSocket requests keep using the last complete artifact
while stale units rebuild in the background; CLI and explicit compile paths
remain synchronous. A failed rebuild removes availability and surfaces the
compiler error rather than serving the old unit indefinitely. The per-unit lock
also keeps concurrent synchronous compilers from waiting across a transitive
graph when a last complete artifact is available.
---