feat: tuning the locator algorithm#3261
Merged
bors[bot] merged 1 commit intoDec 29, 2021
Merged
Conversation
5fba0d0 to
12876f9
Compare
12876f9 to
e391cdb
Compare
quake
approved these changes
Dec 29, 2021
zhangsoledad
approved these changes
Dec 29, 2021
Member
|
bors r= quake,zhangsoledad |
Contributor
bors Bot
added a commit
that referenced
this pull request
Nov 15, 2022
3703: feat: tuning the locator algorithm r=driftluo a=driftluo ### What problem does this PR solve? This previous PR #3261 increased the locator length, but it didn't solve the problem Take the current height as an example: Current Algorithm: [8480818...8480809, 8480807 ...4286507, 92203, 46101, 23050, 11525, 5762] PR Algorithm: [8480818...8480809, 8480807 ...4286507, 2143253, 1071626, 535813, 267906, 133953, 66976, 33488, 16744, 8372, 4186] At the moment `index < step * 2`, too much data is skipped. This will cause a break in the download process, resulting in ibd not being able to be in a multi-node download state as much as possible. What we want to do is, at the moment `index < step * 2`, turn on the right-shift decrement of the `index` directly, so that the data is not broken as much as possible ref: #3668 ### Check List Tests - Unit test - Integration test ### Release note ```release-note Title Only: Include only the PR title in the release note. ``` Co-authored-by: driftluo <driftluo@foxmail.com>
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.
What problem does this PR solve?
The locator algorithm is designed to send a sample of local chains to the remote end, so that both sides can determine the same header of the maximum height of both sides as efficiently as possible, thus completing the header synchronization work faster
As time goes on, the current locator algorithm becomes more and more inapplicable as the chain height increases, and we need a locator algorithm that constantly adjusts itself to the height of the chain. It allows the entire chain to be sampled as much as possible during the sampling process, instead of the lowest sampling point being pulled up step by step as the height increases
This PR relaxes the length of the locator to 52
Check List
Tests
Release note