BDR Consistency in Insert/Update pkey conflicts
I'm curious to know what the expected behavior is for an insert / update
conflict on a primary key field.
The wiki suggested "divergence conflicts" would be logged and replication
would halt for the downstream master. There is a case where the databases
"diverge" such that they are no longer consistent, and where no error is
logged and replication continues.
The test case is summarized as inserting a record on a first node with
pkey='x'. After this record propagates, then insert a record with a
different node with pkey='y', and at the same time update the first node's
record to change the key to 'y'. Depending on timing, the result is that
the first node will only have a single record, while the other nodes will
have an x and y record.
The full test case is at:
https://github.com/no0p/bdrlab/blob/master/bdrsuite/tests/conflicts/insert_update_conflict.rb
Is this considered a divergence conflict and what is the expected behavior
for this case?
Also is there is a published list of conditions where masters can become
inconsistent and that is expected behavior -- or should that never happen?
Best Regards,
Robert