Skip to content

Bump openraft from 0.10.0-alpha.21 to 0.10.0-alpha.33 - #8934

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/openraft-0.10.0-alpha.32
Closed

Bump openraft from 0.10.0-alpha.21 to 0.10.0-alpha.33#8934
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/cargo/openraft-0.10.0-alpha.32

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 4, 2026

Copy link
Copy Markdown
Contributor

Bumps openraft from 0.10.0-alpha.21 to 0.10.0-alpha.33.

Release notes

Sourced from openraft's releases.

OpenRaft v0.10.0-alpha.33

This alpha introduces breaking updates to linearizable reads and snapshot metadata, alongside snapshot-safety fixes and stronger Jepsen coverage.

Breaking changes

Leadership-aware linearizable reads

Linearizable-read APIs now return ReadLogId instead of Option<LogId>:

  • Raft::ensure_linearizable() returns ReadLogId.
  • Raft::get_read_log_id() returns (ReadLogId, Option<LogId>).
  • Linearizer::new() accepts ReadLogId.

ReadLogId is always present and identifies both the producing leadership and the inclusive log boundary the state machine must apply before serving the read.

Use ReadLogId::log_id() to access the underlying log ID, or ReadLogId::from_log_id() when reconstructing a leader-issued barrier for follower reads.

snapshot_id moved out of snapshot metadata

snapshot_id has been removed from SnapshotMeta and SnapshotSignature. It identifies a transfer session, not the state represented by a snapshot.

  • State machines now construct SnapshotMeta using only last_log_id and last_membership.
  • RaftNetworkV2 implementations require no changes.
  • Chunked v1 implementations use openraft_legacy::network_v1::SnapshotMeta, which retains snapshot_id and the 0.9 wire layout.
  • The v1 sender now generates a fresh ID for every transfer session.

No stored-data migration is required. The serialized layouts remain compatible with OpenRaft 0.9 under both named and positional formats.

See the v0.9-to-v0.10 upgrade guide.

Correctness fixes

  • Reject snapshots that conflict with an entry at an already committed index, during both installation and startup recovery.
  • Fix RocksDB example snapshot ordering once log indexes cross digit boundaries.
  • Prevent node-only membership changes from panicking on uninitialized nodes; they now return the normal leadership error.

Testing and reliability

  • Add composable Jepsen chaos combining partitions, process termination, process pauses, and membership changes.
  • Add a process-pause nemesis and configurable snapshot pressure.
  • Improve target selection, recovery tracking, panic detection, random-seed recording, and incomplete-run diagnostics.
  • Run Jepsen linting and unit tests on pull requests and retain result artifacts for every run.

Other changes

  • Replace byte-unit with parse-size, removing the vulnerable lockfile-only rkyv dependency.
  • Disable unused tabled default features.
  • Move the experimental ezraft implementation out of the OpenRaft repository.

... (truncated)

Commits
  • 2be3f99 chore: bump version to v0.10.0-alpha.33
  • cd7ff90 fix: handle node changes on uninitialized nodes
  • b20f38b change: return leadership-aware read barrier: ReadLogId
  • 353be65 refactor: share process disruption handling
  • 84f1077 docs: describe pause and chaos nemeses
  • 91dd51e test: fix analysis after pause cleanup failure
  • 67eb466 test: record pause recovery accurately
  • 8490dba refactor: move Jepsen checkers out of CLI
  • 00e7b88 refactor: fix-jepsen: refresh stale Jepsen membership metrics
  • dfd0e78 test: detect node panics with a stable marker
  • Additional commits viewable in compare view

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file rust Pull requests that update Rust code labels Aug 4, 2026
@rocketmq-rust-robot rocketmq-rust-robot added feature🚀 Suggest an idea for this project. AI review first Ai review pr first approved PR has approved auto merge Difficulty level/Easy Easy ISSUE enhancement⚡️ New feature or request testing labels Aug 4, 2026
@rocketmq-rust-bot

Copy link
Copy Markdown
Collaborator

🔊@dependabot[bot] 🚀Thanks for your contribution🎉!

💡CodeRabbit(AI) will review your code first🔥!

Note

🚨The code review suggestions from CodeRabbit are to be used as a reference only, and the PR submitter can decide whether to make changes based on their own judgment. Ultimately, the project management personnel will conduct the final code review💥.

Bumps [openraft](https://github.com/databendlabs/openraft) from 0.10.0-alpha.21 to 0.10.0-alpha.33.
- [Release notes](https://github.com/databendlabs/openraft/releases)
- [Commits](databendlabs/openraft@v0.10.0-alpha.21...v0.10.0-alpha.33)

---
updated-dependencies:
- dependency-name: openraft
  dependency-version: 0.10.0-alpha.32
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title Bump openraft from 0.10.0-alpha.21 to 0.10.0-alpha.32 Bump openraft from 0.10.0-alpha.21 to 0.10.0-alpha.33 Aug 8, 2026
@dependabot
dependabot Bot force-pushed the dependabot/cargo/openraft-0.10.0-alpha.32 branch from bd87d23 to ace7332 Compare August 8, 2026 13:12
@dependabot @github

dependabot Bot commented on behalf of github Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #9199.

@dependabot dependabot Bot closed this Aug 10, 2026
@dependabot
dependabot Bot deleted the dependabot/cargo/openraft-0.10.0-alpha.32 branch August 10, 2026 22:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

AI review first Ai review pr first approved PR has approved auto merge dependencies Pull requests that update a dependency file Difficulty level/Easy Easy ISSUE enhancement⚡️ New feature or request feature🚀 Suggest an idea for this project. rust Pull requests that update Rust code testing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants