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

[xCluster] Add APIs to repair Outbound Replication Group #21540

Closed
yugabyte-ci opened this issue Mar 16, 2024 · 0 comments
Closed

[xCluster] Add APIs to repair Outbound Replication Group #21540

yugabyte-ci opened this issue Mar 16, 2024 · 0 comments
Assignees
Labels
2024.1.0_blocker jira-originated kind/enhancement This is an enhancement of an existing feature priority/low Low priority

Comments

@yugabyte-ci
Copy link
Contributor

yugabyte-ci commented Mar 16, 2024

Jira Link: DB-10425

@yugabyte-ci yugabyte-ci added jira-originated kind/enhancement This is an enhancement of an existing feature priority/low Low priority status/awaiting-triage Issue awaiting triage labels Mar 16, 2024
@yugabyte-ci yugabyte-ci removed the status/awaiting-triage Issue awaiting triage label Mar 16, 2024
@hari90 hari90 closed this as completed in 0ac8a65 Apr 25, 2024
hari90 added a commit that referenced this issue Apr 26, 2024
…lication

Summary:
Original commit: 0ac8a65 / D34239
Partial commit: 7b25651 / D33878 src/yb/client/client-internal.cc

Adding yb-admin commands:
`repair_xcluster_outbound_replication_add_table <replication_group_id> <table_id> <stream_id>`
`repair_xcluster_outbound_replication_remove_table <replication_group_id> <table_id>`

These will alow us to manually add or remove an individual table from the source side Outbound Replication Group.
`repair_xcluster_outbound_replication_add_table` requires a stream_id which can be created using `bootstrap_cdc_producer`.
`repair_xcluster_outbound_replication_remove_table` will not delete the xcluster stream. It will have to be manually deleted with `delete_cdc_stream`.
NOTE: This is only meant for manual use by DevOps in extreme situations.

**Upgrade/Rollback safety:**
New proto messages and APIs are guarded under `enable_xcluster_api_v2`

Fixes #21540
Jira: DB-10425

Test Plan:
XClusterOutboundReplicationGroupTest.Repair
XClusterOutboundReplicationGroupTest.RepairWithYbAdmin
XClusterDBScopedTest.DropTableOnProducerThenConsumer
XClusterDBScopedTest.DropAllTables
XClusterDBScopedTest.DisableAutoTableProcessing

Reviewers: jhe, slingam, xCluster

Reviewed By: slingam

Subscribers: ybase, xCluster

Tags: #jenkins-ready

Differential Revision: https://phorge.dev.yugabyte.com/D34558
svarnau pushed a commit that referenced this issue May 25, 2024
Summary:
Adding yb-admin commands:
`repair_xcluster_outbound_replication_add_table <replication_group_id> <table_id> <stream_id>`
`repair_xcluster_outbound_replication_remove_table <replication_group_id> <table_id>`

These will alow us to manually add or remove an individual table from the source side Outbound Replication Group.
`repair_xcluster_outbound_replication_add_table` requires a stream_id which can be created using `bootstrap_cdc_producer`.
`repair_xcluster_outbound_replication_remove_table` will not delete the xcluster stream. It will have to be manually deleted with `delete_cdc_stream`.
NOTE: This is only meant for manual use by DevOps in extreme situations.

**Upgrade/Rollback safety:**
New proto messages and APIs are guarded under `enable_xcluster_api_v2`

Fixes #21540
Jira: DB-10425

Test Plan:
XClusterOutboundReplicationGroupTest.Repair
XClusterOutboundReplicationGroupTest.RepairWithYbAdmin
XClusterDBScopedTest.DropTableOnProducerThenConsumer
XClusterDBScopedTest.DropAllTables
XClusterDBScopedTest.DisableAutoTableProcessing

Reviewers: jhe, slingam, xCluster

Reviewed By: jhe

Subscribers: xCluster, ybase

Differential Revision: https://phorge.dev.yugabyte.com/D34239
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2024.1.0_blocker jira-originated kind/enhancement This is an enhancement of an existing feature priority/low Low priority
Projects
None yet
Development

No branches or pull requests

2 participants