Skip to content

Recycle retained WASM workers after memory high-water#373

Merged
wolfy-j merged 6 commits into
mainfrom
fix/retained-memory-worker-recycle
Jun 21, 2026
Merged

Recycle retained WASM workers after memory high-water#373
wolfy-j merged 6 commits into
mainfrom
fix/retained-memory-worker-recycle

Conversation

@wolfy-j

@wolfy-j wolfy-j commented Jun 21, 2026

Copy link
Copy Markdown
Contributor

Summary

  • recycle a single warm WASM worker after a completed call when retained linear memory exceeds limits.max_retained_memory_bytes
  • use isolated component module/runtime ownership for replacement so WASI component bridges do not corrupt reused modules
  • use binary-string list<u8> decode globally for Wippy-managed WASM results, avoiding the extra Go []byte -> Lua string copy without adding app-level flags
  • reduce Lua fs.readfile churn by avoiding bytes.Buffer.String and cover binary readback

Dependency

Validation

  • make lint
  • go test ./api/runtime/wasm ./runtime/wasm/engine ./runtime/wasm/component/function ./runtime/wasm/component/process ./runtime/lua/modules/fs ./system/scheduler/pool/adaptive ./system/scheduler/pool/inline ./system/scheduler/pool/lazy ./system/scheduler/pool/static -count=1
  • make build-wippy-linux-amd64

@wolfy-j wolfy-j requested a review from skhaz June 21, 2026 20:25
@wolfy-j wolfy-j merged commit a48c3a1 into main Jun 21, 2026
4 checks passed
@wolfy-j wolfy-j deleted the fix/retained-memory-worker-recycle branch June 21, 2026 21:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants