Details
-
Improvement
-
Resolution: Unresolved
-
Major
-
None
-
None
-
None
-
0
Description
In MB-55804 there was discussion about changing the conflict resolution type for a bucket after bucket creation. As it's likely complicated this ticket is being opened.
Dave Rigby said
We also might want to think about migration paths. Right now conflict resolution mode is set at bucket creation time (IIRC) and cannot be changed afterwards.
From KV's pov I think it should be reasonably straightforward to allow it to be changed dynamically - we have been stamping mutations with HLC-based CAS values since ~v4.5.
This would significantly improve usability IMHO.
John Liang said
We looked at the upgrade issue a long time ago in 4.x timeframe. There are 2 things we must ensure in mixed mode (some clusters are in RevId and some in LWW):
1) Eventual consistency across the docs across all the clusters after all clusters are converted to LWW
2) No data loss, but this requirement itself is vague in the context of mixed mode, since there could be data loss in LWW due to time skew.
For example, let say some clusters are in LWW and some in RevId. Depending on whether we are doing optimistic replications or not, XDCR and KV can be using different conflict resolution scheme depending on whether we are doing optimistic replication or not. There is a possibility that different docs may reside in different clusters due to that.
I do not recommend changing the setting on the fly until we are sure it is safe to do so.
Assigning the ticket to XDCR to determine a safe method for changing the conflict resolution type. Once that is done then others (ns_server, kv, UI) can be invited to the party.