version vector - broadcast to all tlogs only when a private mutation is present
When version vector is enabled, no empty messages should be sent to tlogs. The exception is when there are private mutations, as all underlying SS need to be informed of shard changes. This PR fixes a bug where we did not check for the presence of private mutations in the batch correctly, so always broadcasted to all tlogs. That probably hurt vv performance.
Ran clean with vv enabled.
20221110-173824-henrylambright-fccbb431d494e874
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.
- [ ] The PR has a description, explaining both the problem and the solution.
- [ ] The description mentions which forms of testing were done and the testing seems reasonable.
- [ ] Every function/class/actor that was touched is reasonably well documented.
For Release-Branches
If this PR is made against a release-branch, please also check the following:
- [ ] This change/bugfix is a cherry-pick from the next younger branch (younger
release-branchormainif this is the youngest branch) - [ ] There is a good reason why this PR needs to go into a release branch and this reason is documented (either in the description above or in a linked GitHub issue)
Result of foundationdb-pr-clang on Linux CentOS 7
- Commit ID: b8955d9ab1748186840ece01c6972663eaaf9c50
- Duration 0:22:00
- Result: :x: FAILED
- Error:
Error while executing command: ctest -j ${NPROC} --no-compress-output -T test --output-on-failure. Reason: exit status 8 - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
Result of foundationdb-pr-macos on macOS Monterey 12.x
- Commit ID: b8955d9ab1748186840ece01c6972663eaaf9c50
- Duration 0:34:44
- Result: :white_check_mark: SUCCEEDED
- Error:
N/A - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
Result of foundationdb-pr on Linux CentOS 7
- Commit ID: b8955d9ab1748186840ece01c6972663eaaf9c50
- Duration 0:36:58
- Result: :x: FAILED
- Error:
Error while executing command: ctest -j ${NPROC} --no-compress-output -T test --output-on-failure. Reason: exit status 8 - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
Doxense CI Report for Windows 10
- Commit ID: b8955d9ab1748186840ece01c6972663eaaf9c50
- Result: :heavy_check_mark: SUCCEEDED
- Build Logs (available for 30 days)
Doxense CI Report for Windows 10
- Commit ID: 79e7e8342c2f6cd581a33a012c113258453829e4
- Result: :heavy_check_mark: SUCCEEDED
- Build Logs (available for 30 days)
Result of foundationdb-pr-clang on Linux CentOS 7
- Commit ID: 79e7e8342c2f6cd581a33a012c113258453829e4
- Duration 0:46:45
- Result: :white_check_mark: SUCCEEDED
- Error:
N/A - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
Result of foundationdb-pr on Linux CentOS 7
- Commit ID: 79e7e8342c2f6cd581a33a012c113258453829e4
- Duration 1:07:39
- Result: :white_check_mark: SUCCEEDED
- Error:
N/A - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
- Commit ID: 79e7e8342c2f6cd581a33a012c113258453829e4
- Duration 1:50:51
- Result: :white_check_mark: SUCCEEDED
- Error:
N/A - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
- Commit ID: b8955d9ab1748186840ece01c6972663eaaf9c50
- Duration 5:01:00
- Result: :x: FAILED
- Error:
Build has timed out. - Build Logs (available for 30 days)
- Build Artifact (available for 30 days)
I will get this working on master first, then port to 7.1
Can we close this PR? @dlambrig
obsolete