Synchronize replication after upgrade
If you have upgraded YugabyteDB Anywhere to version 2.12 or later and xCluster replication for your universes was set up via yb-admin
instead of the UI, you need to synchronize the replication after performing the upgrade.
Update replication group names
Before synchronizing, you must ensure that the replication group names adhere to the following format:
<source_universe_uuid>_<config_name>
To check the names, execute the following command:
yb-admin get_universe_config | python -m json.tool
An output might be similar to the following:
"producerMap": {
"04dfc615-e2bd-4e56-9a3b-198bceb09e43": {
"consumerTableId": "5dc1a75bced7465fa298ab3a6fea970b",
"producerTableId": "ec26089a41f24d4080cc84b71c6c3391",
producerMap
shows the existing stream name (04dfc615-e2bd-4e56-9a3b-198bceb09e43
in the preceding example).
If the names do not match the required format, you need to update the replication group names, as follows:
-
Change any replication group names as needed using the following command:
yb-admin alter_universe_replication <existing_stream_name> rename_id <source_universe_uuid>_<existing_stream_name>
-
Verify that all replication group names are in the correct format using the
get_universe_config
command again:yb-admin get_universe_config | python -m json.tool
Perform synchronization
You can synchronize the xCluster configuration using the Sync xcluster config API.
Consider the following example:
curl --location --request POST 'http://<IP_address>:9000/api/v1/customers/<universe_UUID>/xcluster_configs/sync?targetUniverseUUID=<target_universe_UUID>' \
--header 'X-AUTH-YW-API-TOKEN: <your_API_token>' \
--data-raw ''
The target universe UUID in the URL and an empty data flag at the end are required.