Skip to content
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

Tracking Issue: Replace VReplicationExec Command + RPC #12086

Open
3 of 8 tasks
mattlord opened this issue Jan 12, 2023 · 0 comments
Open
3 of 8 tasks

Tracking Issue: Replace VReplicationExec Command + RPC #12086

mattlord opened this issue Jan 12, 2023 · 0 comments

Comments

@mattlord
Copy link
Contributor

mattlord commented Jan 12, 2023

Feature Description

Replace the SQL based VReplicationExec API with 1+ properly encapsulated RPCs to meet any remaining use cases.

Details

vtctld makes fairly heavy use of the VReplicationExec RPC. This client-server interface (vtctld->vttablet) needs to be replaced because it does not do proper encapsulation and instead exposes the raw SQL interface. This causes problems for upgrades/downgrades where the internal schema changes as e.g. shown in #11535. As you can see from that bug report this RPC is used internally by, among other things, the implementation of the Workflow client command.

Using the Workflow command as an example, vtctld should instead leverage a new tabletmanager RPC, something like WorkflowAction where it passes the keyspace.workflow value, the action, and optional parameters such as the tablet-types or cells values for the update action (this still needs to be spec'd out). All other internal uses of the VReplicationExec RPC (primarily by vtctld via the wrangler component) would also be replaced.

Similarly, all other internal uses of the VReplicationExec RPC should be replaced by 1+ new purpose-built RPCs that support the use case with proper encapsulation.

The end result being that the raw SQL client-server interface for executing VReplication commands will be gone and replaced by 1 or more new RPCs with proper encapsulation.

Work

Related Issues

@mattlord mattlord added this to v17.0.0 Jan 12, 2023
@mattlord mattlord changed the title Tracking Issue: Replace VReplicationExec RPC Tracking Issue: Replace VReplicationExec Command + RPC Jan 12, 2023
@mattlord mattlord self-assigned this Feb 14, 2023
@mattlord mattlord moved this to In Progress in v17.0.0 Mar 15, 2023
@mattlord mattlord moved this from In Progress to Backlog in v17.0.0 Apr 25, 2023
@mattlord mattlord moved this from Backlog to In Progress in v17.0.0 Apr 25, 2023
@mattlord mattlord mentioned this issue May 2, 2023
4 tasks
@frouioui frouioui added this to v18.0.0 Jun 30, 2023
@frouioui frouioui moved this to In Progress in v18.0.0 Jun 30, 2023
@frouioui frouioui removed this from v17.0.0 Jun 30, 2023
@mattlord mattlord added this to the v19.0.0 milestone Nov 2, 2023
@frouioui frouioui modified the milestones: v19.0.0, v20.0.0 Mar 6, 2024
@mattlord mattlord removed their assignment Dec 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: In Progress
Development

No branches or pull requests

2 participants