You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by Antony Blakey <an...@gmail.com> on 2009/05/28 22:33:14 UTC
Repeatable replication issue
Doesn't stop replication, but is a bug I think.
Pull replicating on trunk, with checkpoint set to every doc, I get the
follow after every _ensure_full_commit on the client:
------------------------------------------------------------------------------
[debug] [<0.752.0>] 'POST' /acumen-users/_ensure_full_commit {1,1}
Headers: [{'Host',"localhost:5984"},{'Transfer-Encoding',"chunked"}]
[info] [<0.752.0>] 127.0.0.1 - - 'POST' /acumen-users/
_ensure_full_commit 201
[debug] [<0.155.0>] couch_rep HTTP put request: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
Err: {error,closed}
[info] [<0.155.0>] retrying couch_rep HTTP put request in 1.0 seconds
due to {error, send_failed}: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
------------------------------------------------------------------------------
Occasionally the error is different:
------------------------------------------------------------------------------
[debug] [<0.752.0>] 'POST' /acumen-users/_ensure_full_commit {1,1}
Headers: [{'Host',"localhost:5984"},{'Transfer-Encoding',"chunked"}]
[info] [<0.762.0>] 127.0.0.1 - - 'POST' /acumen-users/
_ensure_full_commit 201
[debug] [<0.155.0>] couch_rep HTTP put request: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
[info] [<0.155.0>] retrying couch_rep HTTP put request in 1.0 seconds
due to {error, {'EXIT',
{noproc,
{gen_server,
call,
[<0.667.0>,
{send_req,
{{url
,
"http
://localhost:5985/acumen-users/_local
%2F171f075d60a8ae9e6da9e6d523655ed6",
"localhost
",
5985
,
undefined
,
undefined
,
"/acumen
-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6",
http
},
[],
put
,
<
<"{\"_id\":\"_local/171f075d60a8ae9e6da9e6d523655ed6\",\"_rev\":
\"0-57\",\"session_id\":\"10d137cf5f09c7b3ba114ab2af417de3\",
\"source_last_seq\":101,\"history\":[{\"start_time\":\"Thu, 28 May
2009 07:16:55 GMT\",\"end_time\":\"Thu, 28 May 2009 07:17:52 GMT\",
\"start_last_seq\":0,\"end_last_seq\":101,\"missing_checked\":
0,\"missing_found\":116,\"docs_read\":116,\"docs_written\":
116,\"doc_write_failures\":0}]}">>,
[{transfer_encoding
,
{chunked
,
65535
}},
{content_type
,
"application
/json; charset=utf-8"},
{max_pipeline_size
,
101
},
{response_format
,
binary
}],
infinity
}},
infinity]}}}}: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
[debug] [<0.155.0>] couch_rep HTTP put request: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
------------------------------------------------------------------------------
Antony Blakey
--------------------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787
Isn't it enough to see that a garden is beautiful without having to
believe that there are fairies at the bottom of it too?
-- Douglas Adams
Re: Repeatable replication issue
Posted by Adam Kocoloski <ko...@apache.org>.
Yep, I think I understand this one. POSTing to _ensure_full_commit
with no body but a Transfer-Encoding: chunked header causes the remote
mochiweb server to close the connection. ibrowse is in the process of
sending the next request (the PUT of the local doc) on that connection
when it gets the close directive, hence the error and retry.
Should be an easy fix. We should just confirm that there's a request
body before adding the chunked header. At the moment we just confirm
the verb is not GET. Thanks,
Adam
On May 28, 2009, at 4:33 PM, Antony Blakey wrote:
> Doesn't stop replication, but is a bug I think.
>
> Pull replicating on trunk, with checkpoint set to every doc, I get
> the follow after every _ensure_full_commit on the client:
>
> ------------------------------------------------------------------------------
> [debug] [<0.752.0>] 'POST' /acumen-users/_ensure_full_commit {1,1}
> Headers: [{'Host',"localhost:5984"},{'Transfer-Encoding',"chunked"}]
> [info] [<0.752.0>] 127.0.0.1 - - 'POST' /acumen-users/
> _ensure_full_commit 201
> [debug] [<0.155.0>] couch_rep HTTP put request: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
> Err: {error,closed}
> [info] [<0.155.0>] retrying couch_rep HTTP put request in 1.0
> seconds due to {error, send_failed}: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
> ------------------------------------------------------------------------------
>
> Occasionally the error is different:
>
> ------------------------------------------------------------------------------
> [debug] [<0.752.0>] 'POST' /acumen-users/_ensure_full_commit {1,1}
> Headers: [{'Host',"localhost:5984"},{'Transfer-Encoding',"chunked"}]
> [info] [<0.762.0>] 127.0.0.1 - - 'POST' /acumen-users/
> _ensure_full_commit 201
> [debug] [<0.155.0>] couch_rep HTTP put request: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
> [info] [<0.155.0>] retrying couch_rep HTTP put request in 1.0
> seconds due to {error, {'EXIT',
>
> {noproc,
>
> {gen_server,
>
> call,
>
> [<0.667.0>,
>
> {send_req,
> {{url
> ,
> "http
> ://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
> ",
> "localhost
> ",
> 5985
> ,
> undefined
> ,
> undefined
> ,
> "/acumen
> -users/_local%2F171f075d60a8ae9e6da9e6d523655ed6",
> http
> },
> [],
> put
> ,
> <
> <"{\"_id\":\"_local/171f075d60a8ae9e6da9e6d523655ed6\",\"_rev\":
> \"0-57\",\"session_id\":\"10d137cf5f09c7b3ba114ab2af417de3\",
> \"source_last_seq\":101,\"history\":[{\"start_time\":\"Thu, 28 May
> 2009 07:16:55 GMT\",\"end_time\":\"Thu, 28 May 2009 07:17:52 GMT\",
> \"start_last_seq\":0,\"end_last_seq\":101,\"missing_checked\":
> 0,\"missing_found\":116,\"docs_read\":116,\"docs_written\":
> 116,\"doc_write_failures\":0}]}">>,
> [{transfer_encoding
> ,
> {chunked
> ,
> 65535
> }},
> {content_type
> ,
> "application
> /json; charset=utf-8"},
> {max_pipeline_size
> ,
> 101
> },
> {response_format
> ,
> binary
> }],
> infinity
> }},
>
> infinity]}}}}: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
> [debug] [<0.155.0>] couch_rep HTTP put request: http://localhost:5985/acumen-users/_local%2F171f075d60a8ae9e6da9e6d523655ed6
> ------------------------------------------------------------------------------
>
> Antony Blakey
> --------------------------
> CTO, Linkuistics Pty Ltd
> Ph: 0438 840 787
>
> Isn't it enough to see that a garden is beautiful without having to
> believe that there are fairies at the bottom of it too?
> -- Douglas Adams
>
Re: Repeatable replication issue
Posted by Antony Blakey <an...@gmail.com>.
On 29/05/2009, at 6:03 AM, Antony Blakey wrote:
> Pull replicating on trunk, with checkpoint set to every doc, I get
> the follow after every _ensure_full_commit on the client:
This doesn't happen when I replicate docs with attachments.
Antony Blakey
-------------
CTO, Linkuistics Pty Ltd
Ph: 0438 840 787
The ultimate measure of a man is not where he stands in moments of
comfort and convenience, but where he stands at times of challenge and
controversy.
-- Martin Luther King