couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject [1/2] couch-replicator commit: updated refs/heads/master to bf636d3
Date Mon, 18 Jul 2016 09:29:19 GMT
Repository: couchdb-couch-replicator
Updated Branches:
  refs/heads/master 8629fb269 -> bf636d308

Change process_response clause

An older version of ibrowse would throw a {error, {'EXIT', Reason}},
when a connection:close header was received. In the newer version
of ibrowse, it throws {error, req_timedout} instead. This leads
to a maybe_retry function call because we do not have a clause
that handles this error. Which inevitably leads to the replication
process dying once it exhausts the retry limit. So we change
the process_response clause to address this bug. However, this also
means we could end up trying forever for real timeouts.



Branch: refs/heads/master
Commit: 8283a30c1406b083a68835a27fe1d4a41e124e9e
Parents: 8629fb2
Author: Tony Sun <>
Authored: Mon Jun 27 18:43:57 2016 -0700
Committer: Robert Newson <>
Committed: Mon Jul 18 10:28:11 2016 +0100

 src/couch_replicator_httpc.erl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/couch_replicator_httpc.erl b/src/couch_replicator_httpc.erl
index 668b218..17e2091 100644
--- a/src/couch_replicator_httpc.erl
+++ b/src/couch_replicator_httpc.erl
@@ -128,7 +128,7 @@ process_response({error, connection_closing}, Worker, HttpDb, Params,
_Cb) ->
     stop_and_release_worker(HttpDb#httpdb.httpc_pool, Worker),
     throw({retry, HttpDb, Params});
-process_response({error, {'EXIT',{normal,_}}}, _Worker, HttpDb, Params, _Cb) ->
+process_response({error, req_timedout}, _Worker, HttpDb, Params, _Cb) ->
     % ibrowse worker terminated because remote peer closed the socket
     % -> not an error
     throw({retry, HttpDb, Params});

View raw message