Skip to content

v0.16.6

Choose a tag to compare

@github-actions github-actions released this 03 Jun 19:44
· 108 commits to main since this release
d3f9f47

This is a patch release for the 0.16 line. It closes several shutdown races in the data server that could crash the process while a shard leader was closing, fixes notification handling after restarts and failed stream initialization, and makes the coordinator retry loading ConfigMap-backed cluster configuration at startup instead of exiting.

Fixed

Data server shutdown safety

  • Follower cursors are drained on close (#1141). Leader controller shutdown could close the Pebble DB while follower-cursor goroutines were still sending a snapshot and holding snapshot/file references. Shutdown now waits for those goroutines to finish first.
  • In-flight leader operations are drained before the Pebble DB closes (#1146). Reads, lists, range scans, notification dispatches, and proposals could still hold DB/WAL resources while the leader was closing, triggering Pebble element has outstanding references panics. The leader now drains this work — and unblocks pending commit waiters — before closing the WAL and DB.

Notifications

  • The notification dispatcher stops after a failed initial send (#1145). If the initial (dummy) notification could not be sent, the dispatcher previously kept running on a stream that was never properly initialized; it now stops immediately.
  • The notification tracker initializes from the last real notification (#1149). Control commands advance the commit offset without writing notification rows, so after a restart a tracker initialized from the commit offset could spin on empty reads at a control-only tail. It now initializes from the highest actual notification key.

Coordinator

  • Startup retries loading the cluster config (#1148). A coordinator could exit during startup when the ConfigMap-backed cluster config was not readable yet; it now retries with backoff until the config can be loaded.

Upgrade notes

  • No data migration, configuration, public API, or metrics changes.

Full Changelog: v0.16.5...v0.16.6