Details
-
Type:
Improvement
-
Status:
Resolved
-
Priority:
Critical
-
Resolution: Won't Fix
-
Affects Version/s: 2.0
-
Fix Version/s: 2.1
-
Component/s: cross-datacenter-replication
-
Security Level: Public
-
Labels:None
Description
From my understanding, the XDCR replication code does not yet have the ability to distinguish incoming data from a remote cluster versus incoming application data.
What this means is that every mutation sent from the remote cluster is attempted to be sent back. No data problems are encountered because of our conflict resolution, but this presents a significant performance and bandwidth limitation.
What this means is that every mutation sent from the remote cluster is attempted to be sent back. No data problems are encountered because of our conflict resolution, but this presents a significant performance and bandwidth limitation.
The reason behind this, during bi-dir xdcr, the replicator at destination side got notified about every persisted mutation from storage, but it has no idea where this mutation came from (say, from front-end workload, from source cluster, or from another cluster). Therefore, it just tried to replicate it to every destination which has been configured by user, including the source cluster if bi-dir xdcr.
Compared with uni-dir xdcr, the bandwidth cost we pay in bi-dir xdcr is just key+metadata in returning traffic from destination back to source.