XDCR not working while modifing data from Source collection

Hi All,

Couchbase 7.1
I am modifying source bucket data from Couchbase collection like,

function OnUpdate(doc, meta) {
    log("Doc created/updated", meta.id);
    doc["modifiedBy"] = "test";
    doc["region"] = "EAST";
    src[meta.id] = doc;

My Event function setting attached

I have enabled XDCR for same traval._default._default

Cluster1 <-> Cluster2 <-> Cluster3

Problem :
I am trying to add Bulk data (1000) collection. Data updated successfully in my collection. But XDCR replication will not work. No data replicated.

please help me on same


I need a bit more info on the design and setup:

  1. Are you really doing bi-directional replication between 3 cluster?
  2. Are you hanging an Eventing function on each keyspace in each of the three clusters?

My current guess (could be wrong) is since by default XDCR uses revID based conflict resolution. It is possible that the revID bumped by an eventing function on the XDCR target could cause a future source document to not win the Conflict resolution, and as a result, looks like mutation aren’t replicating when in fact they are losing the conflict resolution.


Jon Strabala
Principal Product Manager - Server‌