keep web requests off rebuild path
This commit is contained in:
@@ -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.
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user