hashicorp / raft-autopilot

Raft Autopilot
Mozilla Public License 2.0
21 stars 5 forks source link

Bump github.com/hashicorp/raft from 1.4.0 to 1.6.0 #45

Closed dependabot[bot] closed 11 months ago

dependabot[bot] commented 11 months ago

Bumps github.com/hashicorp/raft from 1.4.0 to 1.6.0.

Release notes

Sourced from github.com/hashicorp/raft's releases.

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

Fixes a performance bug related to pipelining. See hashicorp/raft#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.

Changelog

Sourced from github.com/hashicorp/raft's changelog.

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

1.5.0 (April 21st, 2023)

IMPROVEMENTS

  • Fixed a performance anomaly related to pipelining RPCs that caused large increases in commit latency under high write throughput. Default behavior has changed. For more information see #541.
Commits
  • b96f998 Update changelog for 1.6.0
  • fb42781 Upgrade go-msgpack to 2.1.1
  • d09d941 Merge pull request #567 from SchopenhauerZhang/fix_unknow_status_when_multi_s...
  • 49bd61b make candidateFromLeadershipTransfer atomic to avoid a race (#570)
  • a3a1c10 Document some Apply error cases better (#561)
  • 6afcd70 Make it done when Push to the notify channel if given
  • 3b0f2e5 add CommitIndex API (#560)
  • b650ad6 Merge pull request #562 from hashicorp/gofumpt
  • 1feb978 go mod tidy
  • c9355ac Update minimum go version to 1.17
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)