[MB-6809] Disable Flush with XDCR on the source cluster Created: 03/Oct/12  Updated: 10/Jan/13  Resolved: 09/Oct/12

Status: Closed
Project: Couchbase Server
Component/s: cross-datacenter-replication, UI
Affects Version/s: 2.0
Fix Version/s: 2.0
Security Level: Public

Type: Bug Priority: Critical
Reporter: Ketaki Gangal Assignee: Aleksey Kondratenko
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File Screen Shot 2012-10-02 at 6.04.54 PM.png     PNG File Screen Shot 2012-10-03 at 2.12.03 PM.png    

 Description   
Hi,

Today "flush" is not xdcr-replicated to the remote cluster, but we can flush data from either source/ destination and the other cluster/replication is left intact ( no impact of flush)
I ve opened bug to either stop/ warn the user of the consequences of using Flush while XDCR is on-going http://www.couchbase.com/issues/browse/MB-6761

We ve discussed this a bit in the past, and realize that a number of combination can arise with enabling flush with xdcr clusters.


For example , in a unidirectional setup.
One can flush data bucket from source, and replication is not broken. The source cluster has no items and destination cluster has the existing items. With new load coming in, this leaves the clusters
in a somewhat inconsistent state. Failing replication for this, would be ideal.

Likewise for a destination-flush
One can flush data bucket from destination, and replication is not broken. The destination cluster has no items and source cluster has the existing items. With new load coming in, this leaves the clusters
in a somewhat inconsistent state. Failing replication for this, would be ideal.

And likewise on a Bidirectional replication setup.

In the event, that we decide to enable flush+ Xdcr, we will need to add the following to our test-metrics to make sure this feature works under multiple combinations.

Since replication will fail/inconsistent with Flush, is it better to disable/ disallow flush + xdcr?


 Comments   
Comment by Junyi Xie (Inactive) [ 03/Oct/12 ]
Just talked to Aliaksey A., it is not hard to implement disabling flush/delete bucket on source side during XDCR, but for destination side, we are not 100% clear how to do that.

Comment by Aleksey Kondratenko [ 08/Oct/12 ]
As pointed out above we can not do that at all for incoming xdcr.

Plus I had OK from Dipti if it's undefined.

.next candidate imho
Comment by Peter Wansch (Inactive) [ 08/Oct/12 ]
Alk, Dipti wants flush only disabled on the source when replications exist for that bucket.
Comment by Dipti Borkar [ 08/Oct/12 ]
Unidirectional Replication

-> Cluster 1 | Bucket A to Cluster 2 | Bucket A

=> Flush should be disabled on Bucket A on Cluster 1

Two unidirectional Replications

-> Cluster 1 | Bucket B to Cluster 2 | Bucket B
-> Cluster 2 | Bucket C to Cluster 1 | Bucket C

=> Flush should be disabled on Bucket B on Cluster 1
=> Flush should be disabled on Bucket C on Cluster 1

Bi-directional Replications

-> Cluster 1 | Bucket D to Cluster 2 | Bucket D
-> Cluster 2 | Bucket D to Cluster 1 | Bucket D

=> Flush should be disabled on Bucket D on Cluster 1
=> Flush should be disabled on Bucket D on Cluster 1
Comment by Aleksey Kondratenko [ 09/Oct/12 ]
http://review.couchbase.org/#/c/21435/
Generated at Sat Aug 23 14:37:31 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.