Cache positive entry freshness checks
This commit is contained in:
@@ -229,12 +229,19 @@ and whether it used worker memory, serialized code, compilation, or failed.
|
||||
Absolute source paths and source contents are not exposed. This keeps cold-worker
|
||||
module latency distinguishable without exposing source paths.
|
||||
The same snapshot divides pre-dispatch WASM readiness into entry normalization,
|
||||
mutation freshness, artifact stat, complete dependency freshness, and worker
|
||||
availability. `ready_check_count` distinguishes the warm one-check path from an
|
||||
on-demand compile and recheck; repeated snapshot reads retain the initial values.
|
||||
Freshness still stats every distinct source on every entry check. Exact repeated
|
||||
load paths are deduplicated before canonicalization, while distinct aliases are
|
||||
resolved independently so symlink retargets remain immediately visible.
|
||||
mutation freshness, artifact stat, source-generation lookup, dependency
|
||||
freshness, and worker availability. `ready_freshness_full_check_us` and
|
||||
`ready_freshness_cache_hit_count` distinguish full graph validation from a
|
||||
positive worker-local hit; `ready_freshness_us` remains inclusive.
|
||||
`ready_check_count` distinguishes the warm one-check path from an on-demand
|
||||
compile and recheck; repeated snapshot reads retain the initial values.
|
||||
Read-only HTTP entry checks may reuse a positive result for at most ten seconds
|
||||
when the source generation and exact Wasm, metadata, and setup-template
|
||||
identities are unchanged. CLI and mutation requests always validate the complete
|
||||
graph. Misses, expiry, missing tokens, and changed identities also run the full
|
||||
check. Exact repeated load paths are then deduplicated before canonicalization,
|
||||
while distinct aliases are resolved independently so symlink retargets remain
|
||||
visible by the next hard validation.
|
||||
When a current serialized module exists, the worker scans wasm section headers
|
||||
and reads only `dylink.0`, `uce.abi`, and the tiny `uce.module` identity; it does
|
||||
not fault the code and data bodies into every new worker. A missing/stale/invalid serialized module
|
||||
|
||||
Reference in New Issue
Block a user