couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Damien Katz <>
Subject Re: rep_security merge to trunk
Date Wed, 11 Mar 2009 22:46:05 GMT
I've added all_or_nothing transactions. It has the behavior that if a  
document doesn't pass validation or there is a crash during update,  
then no docs are saved. However there is no conflict checking, so some  
of thconflicts..

Adding all_or_nothing option to bulk docs. If a doc doesn't pass  
validation or there is failure during update, then no docs are saved.  
However, there is no conflict checking, if all docs validate but some  
or all doc updates are conflicts, they are saved as conflicts (maybe  
as winner or as loser) in a single transaction regardless, all docs  
are saved and no errors returned the client.

Now we just need merge to trunk.


On Mar 11, 2009, at 11:31 AM, Damien Katz wrote:

> I'm going to look into adding a "force conflicts" option today.
> -Damien
> On Mar 10, 2009, at 7:01 PM, Jan Lehnardt wrote:
>> On 10 Mar 2009, at 23:44, Damien Katz wrote:
>>> I think the rep_security branch is looking pretty solid. I still  
>>> have work to do to merge with Adam's recent replicator changes.
>>> This patch breaks the file format and replication API, so  
>>> replication with earlier versions is not possible. And the "all or  
>>> nothing w/ conflict checking" transactions are gone. Which I think  
>>> is good, because people were relying on it without understanding  
>>> the rest of CouchDB doesn't support that feature.
>>> I'd like to go ahead and merge this to trunk. Comments,  
>>> suggestions and objections please.
>> I have an app that could benefit of the other variant of bulk  
>> transactions that you offered in the initial proposal, namely  
>> having all writes go through, regardless if they create conflicts  
>> or not. Replication already offers this and a bulk request with the  
>> `new_edits:false` flag set will give me that behaviour, but not for  
>> documents that don't have a `_rev` member. CouchDB crashes when I  
>> send it. I believe the patch to be not too hard (adding new `_rev`s  
>> where they are missing) or I missing anything? I'm happy to come up  
>> with a patch, if there are no objections. I also don't think this  
>> would block merging the branch to trunk.
>> Cheers
>> Jan
>> --

View raw message