Skip to content

Releases: hashicorp/raft-autopilot

v0.3.0

11 Dec 18:00
5343f10
Compare
Choose a tag to compare

This release introduces a change to the reconciliation logic. Now autopilot will demote a single failed voter at the beginning of the reconciliation round when there is an odd number of voters and at least one of them is unhealthy. This is to avoid inflating the quorum in the presence of an unhealthy voter.

What's Changed

  • Bump github.com/hashicorp/go-hclog from 0.14.1 to 1.4.0 by @dependabot in #26
  • Bump github.com/stretchr/testify from 1.6.1 to 1.8.2 by @dependabot in #27
  • Bump github.com/hashicorp/raft from 1.2.0 to 1.3.11 by @dependabot in #29
  • Bump go.uber.org/goleak from 1.1.10 to 1.2.1 by @dependabot in #28
  • Bump golang.org/x/sync from 0.0.0-20190423024810-112230192c58 to 0.1.0 by @dependabot in #30
  • Bump github.com/hashicorp/raft from 1.3.11 to 1.4.0 by @dependabot in #34
  • Bump github.com/hashicorp/go-hclog from 1.4.0 to 1.5.0 by @dependabot in #35
  • Bump golang.org/x/sync from 0.1.0 to 0.2.0 by @dependabot in #38
  • Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 by @dependabot in #39
  • Bump golang.org/x/sync from 0.2.0 to 0.3.0 by @dependabot in #41
  • Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 by @dependabot in #40
  • Bump go.uber.org/goleak from 1.2.1 to 1.3.0 by @dependabot in #43
  • Bump github.com/hashicorp/raft from 1.4.0 to 1.6.0 by @dependabot in #45
  • Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #50
  • Bump golang.org/x/sync from 0.3.0 to 0.6.0 by @dependabot in #48
  • Bump github.com/hashicorp/go-hclog from 1.5.0 to 1.6.2 by @dependabot in #47
  • Bump github.com/hashicorp/go-hclog from 1.6.2 to 1.6.3 by @dependabot in #52
  • Demote single failed server first during reconciliation with an odd number of voters by @kubawi in #55

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

07 Nov 21:26
d936f51
Compare
Choose a tag to compare

In this release changes have been made to ensure that autopilot respects the configured minimum quorum when deciding which stale or failed servers to remove from the raft configuration.

In order support this change, the promoter interface has been modified to add an additional method (IsPotentialVoter).

This allows raft-autopilot to delegate the decision making on whether a particular node type could be a potential voter in the future (as node types are extendable within consuming client code).

v0.1.6

04 Apr 14:09
bb995b9
Compare
Choose a tag to compare

Enables running autopilot with reconciliation disabled. This allows all Raft servers to be running autopilot and all servers to be tracking overall autopilot state with just having reconciliation enabled on the leader.

v0.1.5

27 May 15:57
232cfce
Compare
Choose a tag to compare

This fixes an issue introduced in the v0.1.4 release that could cause a Start/Stop/Start of autopilot to panic.

v0.1.4

26 May 22:52
abaf6c2
Compare
Choose a tag to compare

Fixes a bug that could cause the State.ServerStabilizationTime method to report the real stabilization time before it would be possible for any server to be stable. The proper behavior now, is to ensure that we return a time of 0s when we know that the stabilization time should not be taken into account.

v0.1.3

23 Apr 15:26
839ebcd
Compare
Choose a tag to compare

Improvement in detecting leader ID by using the delegate, before referring to raft config.

v0.1.2

26 Jan 21:39
f273c7b
Compare
Choose a tag to compare

Minor bug fix regarding a Stop/Start that could result in autopilot no longer running.

v0.1.1

06 Nov 18:59
6ae2b3c
Compare
Choose a tag to compare
  • Prevent crashing in situations where we cannot detect the leader address
  • Update AddServer to make address updates not require server removals and re-add. Also make this method check if the auto-removal would be safe given the current cluster size and error if not.

v0.1.0

05 Nov 20:08
95b8271
Compare
Choose a tag to compare

This is the initial working module capable of replacing what used to be built into Consul