Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): bump github.com/hashicorp/raft from 1.3.11 to 1.5.0 #17421

Merged
merged 2 commits into from
Jun 5, 2023

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 4, 2023

Bumps github.com/hashicorp/raft from 1.3.11 to 1.5.0.

Release notes

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

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.

v1.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 hashicorp/raft#545

Full Changelog: hashicorp/raft@v1.3.11...v1.4.0

Changelog

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

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.

1.4.0 (March 17th, 2023)

FEATURES

  • Support log stores with a monotonically 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.

BUG FIXES

  • Restoring a snapshot with the raft-wal log store caused a panic due to index gap that is created during snapshot restores.

1.3.0 (April 22nd, 2021)

IMPROVEMENTS

  • Added metrics for oldestLogAge and lastRestoreDuration to monitor capacity issues that can cause unrecoverable cluster failure [GH-452][GH-454]
  • Made TrailingLogs, SnapshotInterval and SnapshotThreshold reloadable at runtime using a new ReloadConfig method. This allows recovery from cases where there are not enough logs retained for followers to catchup after a restart. [GH-444]
  • Inclusify the repository by switching to main [GH-446]
  • Add option for a buffered ApplyCh if MaxAppendEntries is enabled [GH-445]
  • Add string to LogType for more human readable debugging [GH-442]
  • Extract fuzzy testing into its own module [GH-459]

BUG FIXES

  • Update LogCache StoreLogs() to capture an error that would previously cause a panic [GH-460]

1.2.0 (October 5th, 2020)

IMPROVEMENTS

  • Remove StartAsLeader configuration option [GH-364]
  • Allow futures to react to Shutdown() to prevent a deadlock with takeSnapshot() [GH-390]
  • Prevent non-voters from becoming eligible for leadership elections [GH-398]
  • Remove an unneeded io.Copy from snapshot writes [GH-399]
  • Log decoded candidate address in duplicate requestVote warning [GH-400]
  • Prevent starting a TCP transport when IP address is nil [GH-403]
  • Reject leadership transfer requests when in candidate state to prevent indefinite blocking while unable to elect a leader [GH-413]
  • Add labels for metric metadata to reduce cardinality of metric names [GH-409]
  • Add peers metric [GH-413]

BUG FIXES

  • Make LeaderCh always deliver the latest leadership transition [GH-384]
  • Handle updating an existing peer in startStopReplication [GH-419]

1.1.2 (January 17th, 2020)

FEATURES

... (truncated)

Commits
  • 8fdc4ce NetworkTransport make pipelining configurable and default to max 2 in flight....
  • 34bcd7c Bump github.com/hashicorp/go-hclog from 0.9.1 to 1.5.0 (#551)
  • 4e47475 clean some linter errors and remove use of ioutils as it's deprecated (#529)
  • a3acea6 Merge pull request #550 from hashicorp/jm/1.4.0
  • f015f18 Adding changelog for 1.4.0
  • d3128ae Merge pull request #545 from hashicorp/post-restore-reset
  • fdcb70b refactoring removeOldLogs to use common compactLogs code
  • c12c1a2 Renamed test to TestRaft_RestoreSnapshotOnStartup_Monotonic
  • 4e27599 Apply suggestions from code review for doc strings for DeleteLogs
  • 7d73c13 assert log removal/non-removal across all raft nodes, not just leader. re-us...
  • 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 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)

Bumps [github.com/hashicorp/raft](https://github.com/hashicorp/raft) from 1.3.11 to 1.5.0.
- [Release notes](https://github.com/hashicorp/raft/releases)
- [Changelog](https://github.com/hashicorp/raft/blob/main/CHANGELOG.md)
- [Commits](hashicorp/raft@v1.3.11...v1.5.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/raft
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@shoenig shoenig merged commit 992b620 into main Jun 5, 2023
@shoenig shoenig deleted the dependabot/go_modules/github.com/hashicorp/raft-1.5.0 branch June 5, 2023 14:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
theme/dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant