Use snapshot transfers by default#8784
Merged
Merged
Conversation
123fde1 to
60bf9e1
Compare
This will propagate a specific transfer type through consensus to all peers. It ensures all peers will use the same transfer method when applying the operation.
60bf9e1 to
86fbbf5
Compare
agourlay
approved these changes
Apr 30, 2026
agourlay
left a comment
Member
There was a problem hiding this comment.
Let's merge to let our CI chew on it over the next few days.
timvisee
added a commit
that referenced
this pull request
May 8, 2026
* [ai] Always set default transfer method on entry peer This will propagate a specific transfer type through consensus to all peers. It ensures all peers will use the same transfer method when applying the operation. * [ai] Enforce the shard method to be specified * Still allow unspecified transfer method for older peer versions * Use snapshot shard transfers by default in Qdrant 1.18.0 and up * New method does not have to be async * Use stream records based transfer for replicate points with filter
Merged
3 tasks
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.
Depends on #8782
Switches the default shard transfer method from stream records to snapshot. This is desired because snapshot based transfers generally perform much better. WAL delta transfers are still preferred for automatic recovery transfers, after which it might fall back to snapshots.
Two changes are made to make this happen:
snapshotmethod as defaultBefore this PR, selecting the default transfer method was not synchronized. If you'd trigger a transfer with no method, each peer would select the default method separately. Peers selecting different versions breaks consensus as transfers don't match up. Since we change the default method, running a cluster with mixed versions could trigger this. It was also possible to set different defaults in the configuration of each peer.
Now the peer that first sees the transfer request is responsible for setting the default transfer method. For user requests it'd be the entry point of their request. For automatic recovery transfers it'd be the peer that triggered the recovery.
All Submissions:
devbranch. Did you create your branch fromdev?New Feature Submissions:
cargo +nightly fmt --allcommand prior to submission?cargo clippy --workspace --all-featurescommand?Changes to Core Features: