-
Notifications
You must be signed in to change notification settings - Fork 2.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
Add missing tables to globally routed list in schema tracker only if they are not already present in a VSchema #17371
base: main
Are you sure you want to change the base?
Conversation
Review ChecklistHello reviewers! 👋 Please follow this checklist when reviewing this Pull Request. General
Tests
Documentation
New flags
If a workflow is added or modified:
Backward compatibility
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #17371 +/- ##
==========================================
- Coverage 67.67% 67.66% -0.02%
==========================================
Files 1583 1584 +1
Lines 254363 254386 +23
==========================================
- Hits 172140 172121 -19
- Misses 82223 82265 +42 ☔ View full report in Codecov by Sentry. |
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.
Just a nomenclature nit, otherwise looks good to me!
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.
The issue with this approach arises when there are multiple unsharded keyspaces. This makes adding the table to global routing non-deterministic, failing to fully achieve the intended purpose of this PR.
You mean if there are tables of the same name in multiple unsharded keyspaces (and which are not in the VSchemas). We could collect all tables names which will be added like this (not in VSchema, but found by schema tracking) first and validate that there are no duplicates, marking ones with duplicates as ambiguous, while others get globally routed. |
Discussed with @harshit-gangal . His point is that:
Options here are:
I guess the question is what is |
f5d5a62
to
a3032db
Compare
After discussions we decided to go ahead with the implementation as detailed in the RFC |
I have added a vtgate flag, |
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
… debugging Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Manan Gupta <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
27ee0cd
to
8b024c4
Compare
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
…lder version because of incorrect go version Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Harshit Gangal <[email protected]>
|
Signed-off-by: Rohit Nayak <[email protected]>
Signed-off-by: Rohit Nayak <[email protected]>
mustNotRouteGlobally(t, "table6") | ||
mustNotRouteGlobally(t, "scommon3") | ||
} | ||
|
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.
The next test is moved over from vschema_test.go
so that it is colocated with the new global routing tests.
Signed-off-by: Rohit Nayak <[email protected]>
This has been now removed. |
Description
Follows up on the idea in #16517 by not considering tables already present in the globally routable list of tables.
See RFC for design and implementation details.
Related Issue(s)
#16516
Checklist
Deployment Notes