Skip to content

V9.17.0

Choose a tag to compare

@jeremydmiller jeremydmiller released this 20 Jul 22:24

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 (#539), which this release rolls up to (#4987).

  • Opt-in autoRestartAddMartenHighWaterHealthCheck(TimeSpan? staleThreshold = null, long minimumGap = 1, bool autoRestart = false). When the check is Unhealthy and autoRestart is 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 EnableExtendedProgressionTracking is on, the high-water agent stamps a liveness heartbeat on the HighWaterMark row 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 the ExtendedProgression-off fallback.

Full changelog: V9.16.1...V9.17.0