-
Notifications
You must be signed in to change notification settings - Fork 2k
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
vtadmin: can't see orphaned tablet records #14152
Comments
This is stemming from the fact that VTAdmin gets its list of tablets from vtgate versus vtctld. I happen to agree with you, that all tablets should be visible in VTAdmin. |
I also agree, FWIW. The fact that it uses a vtgate's healthcheck cache for this info poses a more serious issue (this had come up in an internal discussion previously). This is that VTAdmin currently uses a ~ random vtgate in the cluster (requests are load balanced via the internal vtgate proxy) to get this info and vtgates can be doing keyspace ( vitess/go/vt/vtadmin/vtsql/vtsql.go Lines 167 to 175 in 9d64432
That makes this feature simply wrong IMO and should be considered a bug rather than an enhancement. As noted, however, this would require some refactoring of this feature as it currently works as designed — making the bug label less clear. Please correct me if I'm wrong on anything here @notfelineit or @ajm188. |
I also agree. We can migrate |
Just to make an explicit decision - should this be backported and/or rushed into the v18 launch? |
Not necessarily. It's been this way since day 1. Having said that, we do have another ~3 weeks before GA, so if we are able to get it done within that time we can do a backport. |
Leaving sample of vtctld's GetTablets for reference:
Compared to what we get back from current implementation via VTGate:
I think |
To be clear, I don't view this as a bug at all; it was designed this way deliberately because we (at the time) wanted a view into whether tablets were actually reachable via the serving path (vtgates) as opposed to "simply existing in the topo." when @notfelineit says
That exact field is what we were particularly interested in. Now, I am completely open to the idea that this is no longer the best approach and isn't serving users, and we should change it (that sounds great! let's do it!!), but this is not a bug and should not be backported or rushed. |
I understand that it is working as designed, but especially given @mattlord's comment about how it could give unexpectedly filtered information, it feels important to fix for vtadmin to be reliable. |
the way we ameliorated this was to deploy a very small pool of vtgates that could see every keyspace/cell, and instructed vtadmin to only query those. the added benefit of doing this is that your application(s) use different vtgates from vtadmin, so there's little/no chance of vtadmin accidentally impacting your apps (e.g. from overwhelming the gates) like i said i have no objection to changing this design, but i don't view it as a bug, so i don't think it's really something we should be backporting. |
Adding latest context:
|
I take issue with "better healthcheck" , the healthcheck we have is great :) |
@deepthi thank you for clarifying 🙌 |
Overview of the Issue
Migrating to vtadmin from the old vtctld app, I noticed that vtadmin doesn't list all tablets, seemingly just healthy ones.
This isn't urgent to resolve for us. It seems like the UI should list all, but maybe that's a non-trivial change given how vtadmin doesn't use the topo like the old app did.
Reproduction Steps
Binary Version
Operating System and Environment details
Log Fragments
No response
The text was updated successfully, but these errors were encountered: