What does the replicator do with conflict choices?
What exactly are the differences between the following?
- Create conflicts
- Merge conflicts
- Merge/No conflicts
- Do not create conflicts
Also, let me get your opinion on this:
I've been using "Merge conflicts" for several years and most of the documents in my database have a $ConflictAction="1" field. I still get replication conflicts even though two users definitely edited different fields.
When I turned on "Merge/No conflicts" and edited a document, I saw that $ConflictAction is set to "3." However, when my two servers replicate, the document that still has $ConflictAction="1" gets marked as a replication conflict.
Other than blowing away the field $ConflictAction (="1") first, how can I enable "Merge/No conflict"? Is that setting the preferred way in ND6 to get two documents to merge? Thanks for your advice, Maureen!
First of all, here are the differences between the four conflict options.
- If you choose create conflicts, the replicator picks a winner and a loser in the conflict. It then creates a conflict document for the loser as a response to the winner.
- If you choose merge conflicts, we try to merge any conflicts. If there is a field-level conflict, we revert to creating conflict documents.
- Merge/no conflict is much like merge conflicts, except that no conflict documents are created for the loser in a field-level conflict.
- If you choose "Do not create conflicts," we don't try to merge and we don't create conflict documents, so the losing document is permanently lost.
As for your experience with Merge/No conflicts, if you already have documents with the $ConflictAction set to "1," it is very hard to get it changed. These legacy documents will be problematic. All new documents should have the "3" and not pose a problem.
And yes, you need to blow away the field $ConflictAction first by hand.