v0.7.18 — isolate JS-bundle cluster replication + obs/bench hardening
Post-v0.7.17 follow-ups: isolate works cluster-wide via JS-bundle peer replication, plus obs-box and benchmark-matrix hardening so D2/D10 actually populate.
Highlights:
- JS-bundle replication — upload fans out to live peers (
X-Cluster-Bundle-Replicatedloop guard + owner preservation). Create-hot-path stays a local store lookup. Best-effort (down peer only logs); no-op whenEnableCluster=false. Fixes"resolve bundle: bundle not found"when create lands on a different node than upload. - Obs box — dashboards embedded as raw JSON (under EC2 16KB
user_datalimit); Pushgateway URL/SG now operator-reachable so D2 gets pushed percentiles. - Bench matrix — separate
gvisor-coldrow (hot vs cold, not one blended number); sim failures isolated so one Fatal can't abort the whole catalogue pass; Pushgateway heartbeats are fire-and-forget with a one-strike breaker (dead endpoint no longer stalls ~730s).
Cluster-correctness: no FSM/Raft/placement change; replication is idempotent (content-addressed) and loop-safe. Boot-path: create-hot-path resolver untouched.
What's Changed
- fix(obs): embed dashboards as raw JSON to stay under EC2 16KB user_data limit
- fix(obs): Pushgateway must be operator-reachable (D2 matrix was empty)
- refactor(grafana): update D2 capability matrix panels for clarity and functionality
- feat(cluster): replicate JS bundles to peers so isolate works cluster-wide
- bench(benchmark-obs): add gvisor-cold row (hot + cold, not one blended number)
- fix(sims): isolate each sim so one failure can't abort the whole use-case pass
- fix(bench): make sim Pushgateway heartbeat fire-and-forget
Full Changelog: v0.7.17...v0.7.18
Full Changelog: v0.7.17...v0.7.18