You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide well-defined grpc interface to vtctl to use
Use Case(s)
We were looking at moving some of our operational tooling for Vitess to go, and we noticed that there isn’t a “true” interface into the vtctld in the protobuf definition. While there is a grpc endpoint, it’s not well defined, as it’s mainly a passthrough to all of the different vtctld methods.
For example, instead of there being a FindAllShardsInKeyspace endpoint, we instead call vtctlclient.ExecuteVtctlCommand(vtctldata.ExecuteVtctlCommandRequest{Args: []string{"FindAllShardsInKeyspace", "keyspace_name"}}) and then parse the response into our own user-defined structs, instead of having structs in the .pb.go file that we can use instead.
I've been having similar thoughts, but right now is not a good time. The deprecation of SBR, v2 and old resharding workflows are going to drastically change the list of commands available through vtctld. We can look at doing this after all this stabilizes.
The text was updated successfully, but these errors were encountered:
Pulling this out from an internal conversation
Feature Description
Provide well-defined grpc interface to
vtctl
to useUse Case(s)
We were looking at moving some of our operational tooling for Vitess to go, and we noticed that there isn’t a “true” interface into the vtctld in the protobuf definition. While there is a grpc endpoint, it’s not well defined, as it’s mainly a passthrough to all of the different vtctld methods.
For example, instead of there being a
FindAllShardsInKeyspace
endpoint, we instead callvtctlclient.ExecuteVtctlCommand(vtctldata.ExecuteVtctlCommandRequest{Args: []string{"FindAllShardsInKeyspace", "keyspace_name"}})
and then parse the response into our own user-defined structs, instead of having structs in the.pb.go
file that we can use instead.Quoting @sougou
The text was updated successfully, but these errors were encountered: