Releases: hashicorp/raft
v1.7.1
This patch release fixes two potential issues with Pre-Vote which was added in 1.7.0. One of these has been observed in a single deployed instance but we've been unable to replicate the exact conditions so impact is difficult to assess. Out of an abundance of caution we strongly recommend all 1.7.0 users upgrade to 1.7.1 to avoid this issue occurring.
- #605 Fixes the observed issue where a node looses leadership but is unable to get pre-votes accepted due to followers thinking it's still the leader. This was an implementation bug.
- #609 fixes a theoretical issue (not come up with an actual reproduction yet) where a very specific sequence of pre-votes could artificially prevent cluster followers from holding elections even though there is no active leader succeeding to get a quorum of pre-vote responses.
v1.7.0 (June 6th, 2024)
v1.6.1 (January 8th, 2024)
CHANGES
- Add reference use of Hashicorp Raft by @otoolep in #584
- [COMPLIANCE] Add Copyright and License Headers by @hashicorp-copywrite in #580
IMPROVEMENTS
- Bump github.com/hashicorp/go-hclog from 1.5.0 to 1.6.2 by @dependabot in #583
BUG FIXES
- Fix rare leadership transfer failures when writes happen during transfer by @ncabatoff in #581
1.6.0
1.6.0 (November 15th, 2023)
CHANGES
-
Upgrade hashicorp/go-msgpack to v2, with go.mod upgraded from v0.5.5 to v2.1.1. GH-577
go-msgpack v2.1.1 is by default binary compatible with v0.5.5 ("non-builtin" encoding of
time.Time
), but can decode messages produced by v1.1.5 as well ("builtin" encoding oftime.Time
).However, if users of this libary overrode the version of go-msgpack (especially to v1), this could break compatibility if raft nodes are running a mix of versions.
This compatibility can be configured at runtime in Raft using
NetworkTransportConfig.MsgpackUseNewTimeFormat
-- the default isfalse
, which maintains compatibility withgo-msgpack
v0.5.5, but if set totrue
, will be compatible withgo-msgpack
v1.1.5.
IMPROVEMENTS
- Push to notify channel when shutting down. GH-567
- Add CommitIndex API GH-560
- Document some Apply error cases better GH-561
BUG FIXES
- Race with
candidateFromLeadershipTransfer
GH-570
v1.5.0
Fixes a performance bug related to pipelining. See #541 for extensive details on the testing done.
Change in Default Behavior: This is being released as a minor version even though it changes the default behaviour of the library. The rationale for that is that in almost all cases we are aware of (including all HashiCorp tools) the previous behavior performs significantly worse than the new default. Most other users of this library are most likely to notice no change, or see a significant improvement in latency under high load so we want that to be the default experience rather than one that needs tuning to acheive.
It's possible if you are using this library in way that is significantly different to our typical usage (e.g. over very high latency networks and with enough throughput) that this could cause an increase in commit latency. The increase should never exceed the round-trip-time between your servers. The issue being fixed could cause latency increases in the order of 100x more than the mean commit time at high load. If you are still unsure, the old behavior can be retained by setting the new NetTransportConfig.MaxRPCsInFlight = 130
.
See the PR for more analysis of this tradeoff.
v1.4.0: Merge pull request #550 from hashicorp/jm/1.4.0
What's Changed
- Support log stores with a montonically increasing index. Implementing a log store with the MonotonicLogStore interface where IsMonotonic() returns true will allow Raft to clear all previous logs on user restores of Raft snapshots by @mpalmi, @banks, and @jmurret in #545
Full Changelog: v1.3.11...v1.4.0
v1.3.11
What's Changed
- file_snapshot: do defer after os.Open succeed by @dbadoy in #519
- check if server is in configuration when receiving a voteRequest by @dhiaayachi in #526
New Contributors
Full Changelog: v1.3.10...v1.3.11
v1.3.10
What's Changed
- Improved election debug logs. by @benbuzbee in #516
- Cap maximum grpc wait time when heartbeating to heartbeatTimeout/2. by @HridoyRoy in #494
Full Changelog: v1.3.9...v1.3.10
v1.3.9
v1.3.8
What's Changed
- Fix a breaking change introduced in #477 and released in raft
v1.3.7
by @dhiaayachi in #500
Full Changelog: v1.3.7...v1.3.8