On Fri, Mar 27, 2009 at 08:36:05PM +0000, Tim Parkin wrote: > Yes.. but we're not trying to guarantee consistency, just trying to > prevent inconsistency where possible
In that case, I'm afraid I don't really understand what the goals are. Do you want to be able to guarantee a rollback, or not? If you don't care about rollback always being successful, then you can just PUT back the old documents. > At the moment bulk docs are guaranteed atomic if the application crashes > or validation fails (is this right?).. it's only if there is a conflict > that atomicity has been made unavailable. By "at the moment" do you mean current 0.9.0 semantics? As I understand it there are two versions. - normal _bulk_docs is not atomic. It is no different do just doing a series of PUT operations one after the other, but at a lower HTTP overhead. Concurrency control will reject an update if the supplied _rev differs from the current one. - _bulk_docs with "all_or_nothing":true *is* atomic. However it doesn't perform concurrency control, but instead will add conflicting versions of a document (same as if you added them to a different node, and then replicated them back to the node in question) B.
