couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Shorin <>
Subject Re: Handle the Welcome Request
Date Tue, 15 Apr 2014 17:50:04 GMT
On Tue, Apr 15, 2014 at 9:29 PM, Jens Alfke <> wrote:
> On Apr 14, 2014, at 11:50 PM, Alexander Shorin <> wrote:
>> Not, it wouldn't. The replicator doesn't request source or target UUID
>> via API, but takes the value from server which runs the replication.
> No, I meant the _remote_ server’s UUID. The only way to get that is to send a "GET
/" request.
> Anyway, I’m trying to verify this but not seeing it right now. I’m seeing CouchDB
send a HEAD /dbname and then a GET /dbname [which seem redundant!] but not the GET /. Pretty
sure I’ve seen this in the past, though, and it does seem the only way for the replicator
to get the UUID, which is used to construct the checkpoint ID (right?)

No, there wasn't ever used GET / request in CouchDB replication.
Server UUID was introduced in 1.3 release: before it pair (host,port)
was used and since that time no changes were made for that process.
The remote server UUID usage is a little useless, since replication ID
for protocol version 3 between two remote servers is based on next
structure: {LocalUUID, {remote, SrcURL, Headers}, {remote, TgtURL,
Headers}}. If you replace LocalUUID with any remote server's UUID
value this would change nothing, but will cost you one additional
request, losing portability since pre-1.3 releases has no UUID value
and replication startover in case when remote database will be
migrated to the another instance with the same URL (some
proxy/balancer in front of remote instance is the common case).


View raw message