Skip to content

fix(logservice): update dragonboat snapshot import fix for main#24968

Open
LeftHandCold wants to merge 1 commit into
matrixorigin:mainfrom
LeftHandCold:codex/update-dragonboat-103d-main
Open

fix(logservice): update dragonboat snapshot import fix for main#24968
LeftHandCold wants to merge 1 commit into
matrixorigin:mainfrom
LeftHandCold:codex/update-dragonboat-103d-main

Conversation

@LeftHandCold

Copy link
Copy Markdown
Contributor

What type of PR is this?

  • API-change
  • BUG
  • Improvement
  • Documentation
  • Feature
  • Test and CI
  • Code Refactoring

Which issue(s) this PR fixes:

issue #24966

What this PR does / why we need it:

This PR updates the MatrixOne main branch to use the Dragonboat snapshot import metadata fix merged in:

Main changes:

  • Update the github.com/lni/dragonboat/v4 replacement to github.com/matrixorigin/dragonboat/v4 v4.0.0-20260612094223-103d119addce.
  • Add the corresponding go.sum entries for the updated Dragonboat module.

Why this is needed:

  • The upstream fix prevents imported snapshots from synthesizing Membership.ConfigChangeId from the snapshot index.
  • HAKeeper uses Dragonboat membership ConfigChangeId as the LogService shard epoch.
  • Without this fix, an old imported membership can be reported with a large fake epoch and be treated as newer than the live membership view.
  • The upstream fix also preserves online imported snapshot membership consistently and rejects invalid target membership before restore.

Validation:

  • git diff --check
  • GOTELEMETRY=off go mod download github.com/lni/dragonboat/v4
  • GOTELEMETRY=off go list -m -json github.com/lni/dragonboat/v4
  • GOTELEMETRY=off GOCACHE=/private/tmp/mo-dragonboat-main-gocache go test github.com/lni/dragonboat/v4/tools github.com/lni/dragonboat/v4/internal/rsm github.com/lni/dragonboat/v4/internal/raft -run '^$' -count=0

Local limitation:

  • GOTELEMETRY=off GOCACHE=/private/tmp/mo-dragonboat-main-gocache go test ./pkg/logservice -run '^$' -count=0 could not complete in the local environment because native headers are missing: usearch.h and xxhash.h.

@matrix-meow matrix-meow added the size/XS Denotes a PR that changes [1, 9] lines label Jun 12, 2026
@mergify mergify Bot added the kind/bug Something isn't working label Jun 12, 2026
@LeftHandCold LeftHandCold reopened this Jun 12, 2026
@LeftHandCold LeftHandCold marked this pull request as ready for review June 12, 2026 10:40
@LeftHandCold LeftHandCold requested a review from XuPeng-SH as a code owner June 12, 2026 10:40
@qodo-code-review

Copy link
Copy Markdown

Qodo reviews are paused for this user.

Troubleshooting steps vary by plan Learn more →

On a Teams plan?
Reviews resume once this user has a paid seat and their Git account is linked in Qodo.
Link Git account →

Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center?
These require an Enterprise plan - Contact us
Contact us →

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/bug Something isn't working size/XS Denotes a PR that changes [1, 9] lines

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants