-
perf(bridge): one consensus round per replication batch; resilient peer picking
Release / frontend (push) Canceled after 0sRelease / linux (amd64) (push) Canceled after 0sRelease / linux (arm64) (push) Canceled after 0sRelease / windows (push) Canceled after 0sRelease / macos (push) Canceled after 0sRelease / release (push) Canceled after 0sBuild and Push Docker Image / build-and-push (push) Canceled after 0sreleased this
2026-06-12 15:37:41 +03:00 | 214 commits to main since this releaseThe receiver submitted every envelope as its own Raft command — one
fsync'd consensus round per metric tick per host. A hub absorbing a
busy spoke (or a 'both'-mode pair) spent most of its CPU/disk on
consensus overhead, and batches could outlive the sender's timeout,
causing endless redelivery. Now the whole HTTP batch is wrapped into a
single CmdBridgeEnvelopeBatch entry; the FSM fans the inner envelopes
out to the per-type appliers. The wrapper carries the sender's cluster
id so loop prevention still sees a foreign origin and never ships it
back.The picker's 3s ping timeout marked a hub busy applying batches as
unhealthy, stalling the uplink ('no healthy peer URL', pending grows)
until the next probe cycle. Timeout is now 10s, and Pick() falls back
to the best-known URL instead of returning nothing — the ship attempt
itself surfaces the real error, and reconcile-on-recovery heals gaps.Downloads