Benoit & Jens,

can I ask you both to keep a civil tone?

I understand that it can be frustrating when the other party 
seemlingly doesn’t understand your point of view, but I believe
that the resulting energy is better put towards trying harder to 
understand the other side and making myself more clear. (which 
you did later on, so thanks :)

I know you’ve both been around the block enough to understand :)

With relaxing regards
Jan
--


On Nov 5, 2012, at 05:43 , Benoit Chesneau (JIRA) <[email protected]> wrote:

> 
>    [ 
> https://issues.apache.org/jira/browse/COUCHDB-1259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13490449#comment-13490449
>  ] 
> 
> Benoit Chesneau commented on COUCHDB-1259:
> ------------------------------------------
> 
> Hello.... are you understanding that this isn't only about your application? 
> Some may have different uses. And different routing policy. And this is not 
> the role of couchdb to fix them.
> 
>> Replication ID is not stable if local server has a dynamic port number
>> ----------------------------------------------------------------------
>> 
>>                Key: COUCHDB-1259
>>                URL: https://issues.apache.org/jira/browse/COUCHDB-1259
>>            Project: CouchDB
>>         Issue Type: Bug
>>         Components: Replication
>>   Affects Versions: 1.1
>>           Reporter: Jens Alfke
>>           Assignee: Robert Newson
>>           Priority: Blocker
>>            Fix For: 1.3
>> 
>>        Attachments: couchdb-1259.patch, couchdb-1259.patch
>> 
>> 
>> I noticed that when Couchbase Mobile running on iOS replicates to/from a 
>> remote server (on iriscouch in this case), the replication has to fetch the 
>> full _changes feed every time it starts. Filipe helped me track down the 
>> problem -- the replication ID is coming out different every time. The reason 
>> for this is that the local port number, which is one of the inputs to the 
>> hash that generates the replication ID, is randomly assigned by the OS. 
>> (I.e. it uses a port number of 0 when opening its listener socket.) This is 
>> because there could be multiple apps using Couchbase Mobile running on the 
>> same device and we can't have their ports colliding.
>> The underlying problem is that CouchDB is attempting to generate a unique ID 
>> for a particular pair of {source, destination} databases, but it's basing it 
>> on attributes that aren't fundamental to the database and can change, like 
>> the hostname or port number.
>> One solution, proposed by Filipe and me, is to assign each database (or each 
>> server?) a random UUID when it's created, and use that to generate 
>> replication IDs.
>> Another solution, proposed by Damien, is to have CouchDB let the client work 
>> out the replication ID on its own, and set it as a property in the 
>> replication document (or the JSON body of a _replicate request.) This is 
>> even more flexible and will handle tricky scenarios like full P2P 
>> replication where there may be no low-level way to uniquely identify the 
>> remote database being synced with.
> 
> --
> This message is automatically generated by JIRA.
> If you think it was sent incorrectly, please contact your JIRA administrators
> For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to