Releases: hashicorp/raft-autopilot
v0.3.0
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
- @loshz made their first contribution in #25
- @mukeshjc made their first contribution in #57
- @kubawi made their first contribution in #55
Full Changelog: v0.2.0...v0.3.0
v0.2.0
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
v0.1.5
v0.1.4
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
Improvement in detecting leader ID by using the delegate, before referring to raft config.
v0.1.2
v0.1.1
- 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.