Files
Ekaterina Broslavskaia 2eef52fc13 fix: prevent join-time group forks (list sync + session cap) (#147)
* fix(steward): learn the elected list to prevent the join-time fork

A member welcomed in the epoch a voted election runs missed the vote and
kept the pre-election list, so it rejected the next steward's commit and
forked. Stewards re-broadcast the list after the election, members with a
stale list request it, and the sync carries the settled basis so the list
is verified by recomputation rather than trusted.

* fix(consensus): free resolved consensus sessions

The session cap counted finished sessions and trimmed by HashMap order, so
different nodes evicted different sessions and diverged on SessionNotFound.
Free a session once its outcome is recorded; late votes fall back to the
resolved cache.

* chore(config): raise default max_consensus_sessions to 128
2026-08-21 08:46:28 +03:00
..