Remove clock tags when forwarding operations during reshading shard transfer #4516
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.
Tracked in #4213.
Resharding shard transfer initializes
ForwardProxy
that forwards incoming updates from local shardX
to remote shardY
.Our clock tag logic does not work well enough in such case (though, it still kinda works!), so we just remove clock tags during
ForwardProxy::update
, ifwrapped_shard
andremote_shard
IDs are different.TODO (for a follow-up PR):
When
ForwardProxy
forwards updates from one shard to another one, it should also "split" the operation with a hashring and only forward relevant part of the operation to the remote shard. (Or, alternatively, remote shard should split incoming operations and only apply relevant part.)It seems a lot more annoying to implement, though, so I'll leave it for a separate PR.
All Submissions:
dev
branch. Did you create your branch fromdev
?New Feature Submissions:
cargo +nightly fmt --all
command prior to submission?cargo clippy --all --all-features
command?Changes to Core Features: