From a problem report, we see that 2i DCP cursor can run ahead of replication cursor (intra-cluster). This causes 2i to rollback. One way to avoid rollback is to run 2i cursor behind the fastest replication cursor. For example, if there are 2 replication cursors, as long as mutation is replicated to one of them, allow 2i cursor to move. This will avoid rollback unless 2 copies fail (master + 1 replica).
This feature also depends on ns-server picking the most recent replica as the new master. If ns-server cannot pick the most recent replica as new master, then we can let the 2i cursors run behind all the replication cursors.