| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| README.md | 2026-07-20 | 1.3 kB | |
| V9.17.0 source code.tar.gz | 2026-07-20 | 18.3 MB | |
| V9.17.0 source code.zip | 2026-07-20 | 20.0 MB | |
| Totals: 3 Items | 38.2 MB | 0 | |
High-water health check: opt-in autoRestart + heartbeat primary signal (#4986)
Builds on the detection-only check from 9.16 (#4984). Requires JasperFx 2.32.0 (jasperfx#539), which this release rolls up to (#4987).
- Opt-in
autoRestart—AddMartenHighWaterHealthCheck(TimeSpan? staleThreshold = null, long minimumGap = 1, bool autoRestart = false). When the check is Unhealthy andautoRestartis on, it asks the local projection coordinator's daemon to restart the high-water agent's poll loop only — the mark is never advanced — capped to once per staleness window per database. The cycle is still reported Unhealthy so an alert still fires. Intended for Solo / leader nodes. - Heartbeat is now the primary staleness signal — when
EnableExtendedProgressionTrackingis on, the high-water agent stamps a liveness heartbeat on theHighWaterMarkrow every poll cycle. Heartbeat age proves the loop is cycling independent of whether the mark advances, so a quiet store is never a false positive, and a dead agent is caught even when projections are fully caught up (the exact [#4961] blind spot). The original sequence-gap heuristic is retained as theExtendedProgression-off fallback.
Full changelog: https://github.com/JasperFx/marten/compare/V9.16.1...V9.17.0