-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Cherry pick Choose log router tag prior to resolution in commit path for version vector. (#11628) #11635
base: release-7.3
Are you sure you want to change the base?
Conversation
…vector. (#11628) Co-authored-by: Dan Lambright <[email protected]>
@@ -834,13 +837,17 @@ struct LogPushData : NonCopyable { | |||
// true on a successful write, and false if the location has already been | |||
// written. | |||
bool writeTransactionInfo(int location, uint32_t subseq); | |||
|
|||
Tag chooseRouterTag() { | |||
return savedRandomRouterTag.present() ? savedRandomRouterTag.get() : logSystem->getRandomRouterTag(); |
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.
I am noticing that this is resulting in an assertion failure in "TagPartitionedLogSystem::getRandomRouterTag()" -> "deterministicRandom()->randomInt()" when "logRouterTags = 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.
this appears to be because a pseudo tag is set.
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
@@ -744,6 +744,9 @@ std::set<Tag> CommitBatchContext::getWrittenTagsPreResolution() { | |||
} | |||
} | |||
|
|||
toCommit.storeRandomRouterTag(); |
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 needs to be called only log routers are present?
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 you have a simulation failure where you found this that I can use to test?
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.
Test: "tests/fast/Unreadable.toml -b on -s 598569344"
Or you can run a joshua job with version vector enabled and you would see failures caused by this.
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.
Actually the above test failure is on "main", I didn't run any tests over this change on this branch.
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-clang on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
Result of foundationdb-pr on Linux CentOS 7
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr on Linux CentOS 7
|
I think you can go ahead and merge these changes. Maybe you can address the assertion failure in a follow up PR. |
Result of foundationdb-pr-clang on Linux CentOS 7
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
It will first be fixed in 7.4 |
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
Result of foundationdb-pr-clang on Linux CentOS 7
|
Result of foundationdb-pr on Linux CentOS 7
|
Result of foundationdb-pr-macos-m1 on macOS Ventura 13.x
|
Result of foundationdb-pr-macos on macOS Ventura 13.x
|
Result of foundationdb-pr-clang-arm on Linux CentOS 7
|
Result of foundationdb-pr-cluster-tests on Linux CentOS 7
|
Result of foundationdb-pr-clang on Linux CentOS 7
|
Result of foundationdb-pr on Linux CentOS 7
|
Cherry pick Choose log router tag prior to resolution in commit path for version vector. (#11628)
Joshua
20240906-183549-dlambrig-8e5736193ea62765
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-branch
ormain
if this is the youngest branch)