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:52:34 GMT
Heh. Hit send too soon. Anyway, I think you get the idea.


On Mar 11, 2009, at 6:46 PM, Damien Katz wrote:

> 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.
> -Damien
> 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