-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Implement "Tablet Targeting" RFC #18809
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
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 Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #18809 +/- ##
==========================================
- Coverage 69.82% 69.81% -0.01%
==========================================
Files 1610 1610
Lines 215303 215391 +88
==========================================
+ Hits 150328 150376 +48
- Misses 64975 65015 +40 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
f77286f to
1eb17dd
Compare
84f29f0 to
6c49907
Compare
0dee774 to
5b2df7d
Compare
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
…re it is not valid to set Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
5b2df7d to
25a0e9c
Compare
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
6aa9310 to
5c0bc2d
Compare
Signed-off-by: Nick Van Wiggeren <nick@planetscale.com>
|
I believe this is ready for another review @harshit-gangal! Let me know if you have any questions. |
|
|
||
| For examples and more details, see the [documentation](https://vitess.io/docs/24.0/reference/compatibility/mysql-compatibility/#window-functions). | ||
|
|
||
| #### <a id="tablet-targeting"/>Tablet targeting via USE statement</a> |
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.
@nickvanw let's say I use this feature to write rows to a PRIMARY that doesn't align with the VSchema, am I creating any data correctness/etc risks we should detail here?
I'm wondering if that would cause query failures or potentially-surprising results. But at the same time, I guess you can only use this feature with intention 🤔
And on a similar track, could vReplication get upset about rows in the wrong shard? One dreamed-up scenario I can think of is merging shards, and the same primary key exists in both, etc
None of what I'm thinking means changing the code here I think (it looks good so far), maybe just documentation
Description
This PR adds the ability for a user to target a specific tablet by alias when doing
USE, instead of only being able to pick a type for a shard. This means that a user can get "stable" routing, which is extremely useful when they don't have access to the underlying MySQL instance and need to do things like debug.Related Issue(s)
Checklist
AI Disclosure
This PR was written hand-in-hand with Claude Code, which absolutely got the initial few approaches extremely incorrect and required a lot of human help. Robot isn't going to take my job any time soon.