couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From J Chris Anderson <jch...@gmail.com>
Subject Re: documentation of replication protocol?
Date Wed, 21 Apr 2010 04:05:55 GMT

On Apr 20, 2010, at 7:29 PM, Miles Fidelman wrote:

> Hi Folks,
> 
> I've been looking, but can't seem to find any good documentation of the inter-node protocol
used for replication.
> 
> I've been thinking of playing with a multi-cast alternative to the current pair-wise
replication model - but, of course, that's hard to do without visibility into the format of
the messages exchanged during replication.
> 
> Miles Fidelman

As far as I know, the best source for documentation is the code, right now.

My reservation about the replication protocol is that it is more brittle than JSON (it requires
some exact string matches in the source). With an event-based JSON parser, we could accept
any valid JSON instead of hard coding the output of replicators.

One thing that strikes me is that if we had a browser-based test for the replicator protocol,
we could clean this up substantially. This test suite would be a great contribution from anyone
out there wanting to learn the replicator really well, but you might need to collaborate with
someone to help get the tests to pass, in places.

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

This is fine if we're just trying to replicate between CouchDB instances, but a challenge
for people building interoperable replicators. 

Chris




> 
> -- 
> In theory, there is no difference between theory and practice.
> In<fnord>  practice, there is.   .... Yogi Berra
> 
> 


Mime
View raw message