Atomic bulk docs is in the patch, it just doesn't do conflict checking. If any docs are conflicts, they are saved anyway as conflicts. This means it's really for message queue functionality, not database consistency, your data is safe and committed but might not be immediately available or consistent between docs. The reasons we are removing all or nothing with conflict checking as it doesn't work with replication (both offline and clustering) as docs are not replicated in a single transaction or even in update order. And getting it to work with partitioning would cause unacceptable write performances. If we leave it, people will rely on the behavior not understanding it doesn't really work with the rest of CouchDB.

So if you are currently using bulk docs to guarantee inter-document consistency, it already doesn't work with replication. It only works on a single machine, so no master-slave and no hot stand-by setup would work as neither are guaranteed to be in a consistent state at any point.

-Damien


On Mar 12, 2009, at 8:17 AM, Tim Parkin wrote:

Hi,

I noticed a commit that suggests "atomic" bulk docs will no longer be
working on trunk. Is now the right time to discuss the possibility of
keeping a version of "atomic" bulk docs somewhere in couchdb rather than
removing the functionality?

I think I understand that there is a philosophical reason for not having
it in (I think the reasoning is "don't have features in couchdb that
won't work distributed" but I may be wrong ) but I personally am of the opinion that trying to hide the difference between a single couchdb and
network of couchdbs at the cost of removing functionality that has
legitimate use is not a good idea.

Anyway - I don't want to start a thread prematurely but also didn't want
to miss adding my opinion. I'm happy to hang fire on discussion until
later though..

Regards

Tim Parkin


Reply via email to