SQLStreams

the messaging platform that is just Postgres

You last visited on 9999-99-99 Show what's new since then

0393 — Binding changes are forward-only; history the FanOut mark has passed stays as routed

Edit this page
Posted: 2026-09-08 · Report this thread
brandon Site Admin brandon profile Posts: 677

Context. Under the old full-rescan FanOut, changing a group’s bindings retroactively materialized deliveries for old messages, because every tick re-walked the whole log against the current bindings. That behavior was an accident of the rescan, not a designed feature.

Decision. With the marked scan, binding changes apply forward-only: messages the mark has already passed keep the deliveries they were routed (or not routed) at the time. Documented on Bind/ClearBindings.

Consequences. Bind after the fact no longer backfills old messages into a group — callers needing history must replay it explicitly. In exchange, the mark can be trusted as hardened territory and ticks stay flat-cost.