Enabling Timestamp-based Conflict Resolution for Migrated Data

The Timestamp-based Conflict Resolution is a new conflict resolution type added in version 4.6.0.
This new feature is supported for new buckets that are created in Couchbase Server version 4.6.0.
You cannot change the conflict resolution mode to the Timestamp-based Conflict Resolution for existing buckets after upgrading to version 4.6.0.

If you wish to enable the timestamp-based conflict resolution for your existing data, then you must migrate your data to version 4.6.0 cluster using the cbbackupmgr tool.
To learn more about the tool, See Backup and Restore.

This is a one time migration and the bucket must be switched to a new conflict resolution type as part of the migration.

Create a new Bucket B with the conflict resolution type as Timestamp selected.
For instructions, see
Create a Bucket.

Run the cbbackupmgr tool to restore data.
When restoring data from backup (use the --force-updates option).
Make sure to disable the Conflict Resolution option during the restore.
This is required since the conflict resolution types of the source and destination clusters do not match.

Once the restore operation is completed on Cluster 1, delete Bucket A’ from Cluster 2.

Upgrade Cluster 2 to Couchbase Server version 4.6.0.

Create a new Bucket B’ with the Conflict Resolution type as Timestamp selected.

Create new buckets on both clusters with the conflict resolution type as Timestamp selected.
For instructions, see Create a Bucket.

Run the cbbackupmgr tool to restore data.
When restoring data from backup (use the --force-updates option).
Make sure to disable Conflict Resolution option during the restore.
This is required because the conflict resolution types of the source and destination do not match.

Once the restore operation is completed on both clusters, create replication streams both ways from Cluster 1 and Cluster 2.
See
XDCR Management Overview.