couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Brian Candler <>
Subject all_or_nothing=true and replication
Date Sun, 01 Nov 2009 22:07:29 GMT
At I see the

"Bulk updates work independently of replication, meaning document revisions
originally saved as part of an all or nothing transaction will be replicated
individually, not as part of a bulk transaction. This means other replica
instances may only have a subset of the transaction, and if an update is
rejected by the remote node during replication (e.g. not authorized error)
the remote node may never have the complete transaction."

I had a vague idea from the original discussions that these transactions
would remain together, but this appears to be wrong.

I'd just like to ask if the lack of boundaries for replication is
intentional behaviour, or just an artefact of the current implementation
which might change?

I can think of circumstances where it might be useful to keep them together.
Consider, for example, an all_or_nothing transaction which is used to
resolve a conflict between three documents: it does this by writing a new
revision, and deleting the other two revisions.

If this set of updates became split upon replication, it might end up
deleting the two old revisions but not updating the other document; thus you
would have lost data from those two revisions.

Any thoughts or comments?



View raw message