On Apr 21, 2010, at 8:33 AM, Miles Fidelman wrote:

> J Chris Anderson wrote:
>> On Apr 20, 2010, at 7:29 PM, Miles Fidelman wrote:
>>   
>>> I've been looking, but can't seem to find any good documentation of the 
>>> inter-node protocol used for replication.
>>>     
>> As far as I know, the best source for documentation is the code, right now.
>>   
> <snip>
>> This is the hard coding (in Ruby) I had to add, to used the CouchDB 
>> replicator to pull from the Booth server:
>> 
>> http://github.com/jchris/booth/commit/2deff74e03838a6e7ef95b725c4342a08239a2b8#commitcomment-68685
>> 
>>   
> aaarrrgggh......
> 
> I don't suppose anyone out there has scribbled down anything resembling a 
> sequence diagram or flowchart or list of bullet points or something that 
> summarizes the steps that happen, and the code that gets run when POST 
> /_replicate is invoked, or an ASN.1-like summary of the messages that get 
> exchanged between two couch instances during replication

Miles, at a high level it looks like this:

http://dl.dropbox.com/u/237885/nyc-nosql-replicator.png

There are some added details regarding efficient replication of document 
attachments, and of course that slide doesn't describe the request and response 
formats for those 4 resources.  But that's the sequence of steps that the 
replicator loops through.

Adam

> 
> right now, replication reminds me of the old Sidney Harris Cartoon, "then a 
> miracle occurs" (http://www.sciencecartoonsplus.com/pages/gallery.php)
> 
> -- 
> In theory, there is no difference between theory and practice.
> In<fnord>  practice, there is.   .... Yogi Berra
> 
> 

Reply via email to