You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@couchdb.apache.org by "Kevin R. Coombes" <ke...@gmail.com> on 2011/06/20 23:16:45 UTC

replication problem (1.0.1 error on ensure_full_commit)

Hi,

I'm having (another) problem trying to replicate a Couch database.  
Replication begins just fine, but at random points I get the following 
log message:

[Mon, 20 Jun 2011 20:34:36 GMT] [error] [emulator] Error in process 
<0.630.0> with exit value: {{nocatch,{invalid_json,<<231 
bytes>>}},[{couch_util,json_decode,1},{couch_rep,ensure_full_commit,2},{couch_rep,'-commit_to_both/3-fun-0-',3}]}

At this point, replication halts and does not resume.  Both the source 
and target couchdb's are running version 1.0.1.  Replication was started 
by a POST to the target machine.

The source machine is behind a proxy which only allows HTTP GET 
commands.  (Well, it will allow PUT commands if you authenticate 
properly.)  I suspect that the problem is that the "ensure full commit" 
step tries to PUT a checkpoint document back to the source machine.

Is that correct?  If so, is there any way to replicate a database from a 
couch server that only allows GET commands?

Thanks for your help,
     Kevin

Re: replication problem (1.0.1 error on ensure_full_commit)

Posted by Randall Leeds <ra...@gmail.com>.
On Mon, Jun 20, 2011 at 14:16, Kevin R. Coombes
<ke...@gmail.com> wrote:
> Hi,
>
> I'm having (another) problem trying to replicate a Couch database.
>  Replication begins just fine, but at random points I get the following log
> message:
>
> [Mon, 20 Jun 2011 20:34:36 GMT] [error] [emulator] Error in process
> <0.630.0> with exit value: {{nocatch,{invalid_json,<<231
> bytes>>}},[{couch_util,json_decode,1},{couch_rep,ensure_full_commit,2},{couch_rep,'-commit_to_both/3-fun-0-',3}]}
>
> At this point, replication halts and does not resume.  Both the source and
> target couchdb's are running version 1.0.1.  Replication was started by a
> POST to the target machine.
>
> The source machine is behind a proxy which only allows HTTP GET commands.
>  (Well, it will allow PUT commands if you authenticate properly.)  I suspect
> that the problem is that the "ensure full commit" step tries to PUT a
> checkpoint document back to the source machine.
>
> Is that correct?  If so, is there any way to replicate a database from a
> couch server that only allows GET commands?

_ensure_full_commit is a POST.
If you initiate on the target it will be only GET requests, I believe.
I'm not sure which way you did it. Please follow up if you see
problems like this when pulling (by initiating the replication from
the target).

>
> Thanks for your help,
>    Kevin
>