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