Skip to content

v0.2.9

Choose a tag to compare

@dahai80 dahai80 released this 04 Sep 15:48
· 2 commits to main since this release
de27e69

Patch Release v0.2.9

Ships post-v0.2.8 work already merged to main but unreleased.

PR #36 — dedicated IPC_RT perf fix (#5 soak deadlock)

Decouples IPC server fan-out from the shared BLOCKING_RT (8-worker clamp). Root cause of soak_stress.py deadlock: 64 connections × ~2 long tasks = 128+ tasks starving 8 shared workers → dispatch never scheduled → response frames never written → client 30s timeout.

Fix: dedicated IPC_RT (multi-thread, clamp(4,16) workers) for serve_blocking + probe_runtime. BLOCKING_RT stays for in-process run() path. 0 new deps, 0 new unsafe.

PR #37 — proptest + long_stability harness (enterprise caveats #4/#6)

  • #4 (no fuzz tooling): cargo-fuzz needs nightly (host stable-only) → proptest on stable — 4 property tests × 256 cases over SecurityGuard::validate() (panic-safety, dangerous-prefix block, ReDoS <1s, compound whitelist invariant).
  • #6 (no long stability test): scripts/long_stability.py — N-min sustained mixed exec+stream traffic vs real serve() subprocess, 8-worker concurrency, RSS sampling (no-leak <200MB, no-hang 60s budget, error-rate <1%).

RSS watchdog test fix

rss_watchdog_kills_memory_bomb / rss_watchdog_streaming_path failing: macOS memory compression compresses the 1GB virtual bomb to ~200MB physical RSS, below the 256MB threshold → watchdog correctly did NOT fire. Watchdog logic correct (physical RSS = true OOM metric). Fix: threshold 256MB → 64MB (3× margin, preserves OOM semantics).

Verify

  • cargo fmt --all -- --check ✓
  • cargo clippy --workspace --all-targets -- -D warnings ✓ (only upstream block v0.1.6 future-incompat)
  • cargo test --workspace — 519 passed
  • maturin develop --release — fusion_executor-0.2.9-cp314 wheel
  • ruff check . && ruff format --check . ✓
  • pytest python/tests — 220 passed, 1 skipped (TCC)

Full Changelog: v0.2.8...v0.2.9