Skip to content

Releases: hashicorp/raft

1.6.0

15 Nov 17:45
Compare
Choose a tag to compare

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 of time.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 is false, which maintains compatibility with go-msgpack v0.5.5, but if set to true, will be compatible with go-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

21 Apr 12:29
8fdc4ce
Compare
Choose a tag to compare

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

17 Mar 20:28
a3acea6
Compare
Choose a tag to compare

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

05 Oct 18:13
6b4e320
Compare
Choose a tag to compare

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

05 Aug 16:35
1075246
Compare
Choose a tag to compare

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

27 Apr 14:47
44124c2
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.3.8...v1.3.9

v1.3.8

25 Apr 13:47
1b44a7b
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.3.7...v1.3.8

v1.3.7

14 Apr 13:35
ace424e
Compare
Choose a tag to compare

What's Changed

  • Fix leadership transfer regression introduced in v1.3.4 in #493
  • Add HeartbeatTimeout and ElectionTimeout to reloadable config in #496
  • Prevent non-cluster-members from participating in elections in #477

Full Changelog: v1.3.6...v1.3.7

v1.3.6

02 Mar 22:36
1979b11
Compare
Choose a tag to compare

What's Changed

  • First draft of developer docs by @dnephin in #491
  • a NonVoter node should never try to bootstrap by @rboyer in #492

Full Changelog: v1.3.5...v1.3.6

v1.3.5

11 Feb 21:41
3cb47c5
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.3.4...v1.3.5