-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
geo: Ability for TS to select a different txn status table based on local vs global requirements #10158
Labels
area/docdb
YugabyteDB core features
Projects
Comments
This was referenced Nov 10, 2021
es1024
added a commit
that referenced
this issue
Nov 10, 2021
…global requirements Summary: Changes TS logic to select transaction status tablet based on whether the `force_global_transactions` gflag is enabled or not: if disabled, use tablets from the global transaction table, else, use tablets from a local transaction table (error if not found unless there are no local transaction tables at all). Depends on D13356. Test Plan: Tested manually by logging status tablet ids in manual test and checking which table they belonged to; also added test case: `ybd --cxx-test pgwrapper_geo_transactions-test`. Reviewers: bogdan, rthallam, mbautin Reviewed By: mbautin Subscribers: zyu, ybase Differential Revision: https://phabricator.dev.yugabyte.com/D13599
Added with 6454f01. |
mbautin
added a commit
that referenced
this issue
Nov 11, 2021
…ocal vs global requirements" Summary: This reverts commit 6454f01 becase that commit breaks a lot of tests which should have been checked prior to landing it. Test Plan: Jenkins Reviewers: bogdan, sergei, esheng Reviewed By: esheng Subscribers: ybase Differential Revision: https://phabricator.dev.yugabyte.com/D13897
es1024
added a commit
that referenced
this issue
Nov 15, 2021
…global requirements Summary: Changes TS logic to select transaction status tablet based on whether the `force_global_transactions` gflag is enabled or not: if enabled, use tablets from the global transaction table, else, use tablets from a local transaction table (error if not found unless there are no local transaction tables at all). Changed from D13599 to use a shared lock during transaction status table hash calculations and only calculate the hash as necessary (on transaction status table creation and table alter). Test Plan: Tested manually by logging status tablet ids in manual test and checking which table they belonged to; also added test case: `ybd --cxx-test pgwrapper_geo_transactions-test`. Jenkins: urgent Reviewers: bogdan, rthallam, mbautin Reviewed By: mbautin Subscribers: ybase Differential Revision: https://phabricator.dev.yugabyte.com/D13900
This was referenced Mar 11, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Context: #9980, #10157
Currently we only support one txn table. When we need to start a txn, we first need to pick a txn status tablet to execute it against. There is code on the TS side to do just that, optimizing for picking a tablet which has a leader on the respective TS.
Once we support multiple status tablets, each with their own placement rules, we will need to improve this picking logic, to select a tablet from either the global table (essentially what we do now) vs a local table. We can still keep the logic of picking a leader, of those!
Couple of other notes
cc @deeps1991 also if above makes sense
The text was updated successfully, but these errors were encountered: