chore: update dragonboat snapshot import fix#24920
Draft
LeftHandCold wants to merge 1 commit into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This updates the Dragonboat replacement to a build that fixes imported snapshot membership epochs.\n\nRoot cause:\n- Dragonboat GetProcessedSnapshotRecord set Membership.ConfigChangeId to the snapshot index.\n- ConfigChangeId is the raft entry index of the last applied membership change, not the snapshot index.\n- After logservice truncation/import, this can advance the local membership epoch past HAKeeper's real epoch, causing later ordered config changes to be rejected as out-of-order.\n\nDependency status:\n- Depends on matrixorigin/dragonboat#14.\n- This draft currently points at the fork pseudo-version that contains that PR because this account cannot push to matrixorigin/dragonboat.\n- Before marking ready/merge, replace the fork path with the matrixorigin/dragonboat pseudo-version produced after matrixorigin/dragonboat#14 lands.\n\nTests:\n- Dragonboat: GOCACHE=/private/tmp/dragonboat-gocache go test ./tools -run TestGetProcessedSnapshotRecord -count=1\n- Dragonboat: GOCACHE=/private/tmp/dragonboat-gocache go test ./tools -count=1\n- Dragonboat: GOCACHE=/private/tmp/dragonboat-gocache go test . -run 'TestOrderedMembershipChange|TestGetShardMembership|TestImportSnapshot' -count=1\n- MatrixOne: go mod download github.com/lni/dragonboat/v4\n\nMatrixOne local test attempt:\n- GOCACHE=/private/tmp/matrixone-dragonboat-gocache go test ./pkg/logservice -run 'TestZombie|TestLogShardZombie|Test.*Membership' -count=1 failed before tests due missing github.com/unum-cloud/usearch/golang usearch.h.\n- Retried with CGO_ENABLED=0; build failed because usearch is excluded and bitmap.Bitmap.RawPtrLen is unavailable in that mode.