(experimental, do_not_merge) Efficient get team by servers#12861
(experimental, do_not_merge) Efficient get team by servers#12861spraza wants to merge 1 commit intoapple:release-7.3from
Conversation
717b260 to
2ebb96f
Compare
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-clang-ide on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
2ebb96f to
0c29adf
Compare
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux RHEL 9
|
Result of foundationdb-pr on Linux RHEL 9
|
Result of foundationdb-pr-clang on Linux RHEL 9
|
|
@spraza @neethuhaneesha FYI - I have a nearly identical version of this running on release-7.4 branch (so that it compiles for me in my environment) and it has got this far with no issues: 20260327-010322-gglass-162e80328e5430dd compressed=True data_size=35528478 duration=4815261 ended=100000 fail=1 fail_fast=1000 max_runs=100000 pass=99999 priority=100 remaining=0 runtime=1:09:22 sanity=False started=100000 stopped=20260327-021244 submitted=20260327-010322 timeout=5400 username=gglass I'll check the 1 failure tomorrow |
| @@ -682,6 +682,7 @@ class DDTeamCollection : public ReferenceCounted<DDTeamCollection> { | |||
| std::vector<Reference<TCMachineTeamInfo>> machineTeams; // all machine teams | |||
|
|
|||
| std::vector<Reference<TCTeamInfo>> teams; | |||
There was a problem hiding this comment.
Can you add a very loud comment that says that any code which mutates teams should also update teamsByServerIDs
There was a problem hiding this comment.
Yes. This PR is not polished at all yet. Will do.
| auto it = self->teamsByServerIDs.find(TCTeamInfo::serversToString(req.src)); | ||
| if (it != self->teamsByServerIDs.end()) { | ||
| res = it->second; | ||
| } |
There was a problem hiding this comment.
Another thing we could do here is:
if (1% random chance) {
// assert that not finding this entry in teamsByServerIDs is correct.
const std::string servers = TCTeamInfo::serversToString(req.src);
for (const auto& team : self->teams) {
ASSERT(team->getServerIDsStr() != servers);
}
}
20260326-072449-praza-e8c2a8291ccb74a8 compressed=True data_size=35199917 duration=14798120 ended=500000 fail=1 fail_fast=10 max_runs=500000 pass=499999 priority=100 remaining=0 runtime=2:27:41 sanity=False started=500000 stopped=20260326-095230 submitted=20260326-072449 timeout=5400 username=praza
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)