-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Fix missing localities for fdbserver #7995
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The localities are stored in ServerDBInfo for calculating distances to other processes. The localities are not set when creating ServerDBInfo, thus any distances calculated before UpdateServerDBInfoRequest will be wrong. This PR fixes this issue, thus preventing unnecessary cross DC calls, especially for index prefetching on the storage servers.
Doxense CI Report for Windows 10
|
Result of foundationdb-pr on Linux CentOS 7
|
Doxense CI Report for Windows 10
|
Result of foundationdb-pr on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
|
CI failure is unrelated to this change: |
Result of foundationdb-pr-macos on macOS BigSur 11.5.2
|
Result of foundationdb-pr on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
| break; | ||
| } else if (badServers == alternatives->countBest() && i == badServers) { | ||
| TraceEvent("AllLocalAlternativesFailed") | ||
| .suppressFor(1.0) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we want to do 0.1 here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This can be quite noisy, as we observed in tests. For prod clusters that are larger, I worry too many such events even if we suppress with 0.1s. So I choose 1s, i.e., at most 3600 per server hour.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you change it in main branch as well? Now we have diverging PR, it is not a strictly cherry pick anymore
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. Created #8007.
Result of foundationdb-pr on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
Cherrypick #7994
The localities are stored in ServerDBInfo for calculating distances to other
processes. The localities are not set when creating ServerDBInfo, thus any
distances calculated before UpdateServerDBInfoRequest will be wrong.
This PR fixes this issue, thus preventing unnecessary cross DC calls,
especially for index prefetching on the storage servers.
Also added more traces for load balancing.
100k 20220825-215215-jzhou-786b84e5fa1170a5 passed.
Code-Reviewer Section
The general pull request guidelines can be found here.
Please check each of the following things and check all boxes before accepting a PR.
For Release-Branches
If this PR is made against a release-branch, please also check the following:
release-branchormainif this is the youngest branch)