From 53a20bd7ea70df880a7932e3399989275d2e61ef Mon Sep 17 00:00:00 2001 From: Adam Kocoloski Date: Fri, 28 Aug 2009 03:04:27 +0000 Subject: couch_rep_httpc should know about 503s git-svn-id: https://svn.apache.org/repos/asf/couchdb/trunk@808741 13f79535-47bb-0310-9956-ffa450edef68 --- src/couchdb/couch_rep_httpc.erl | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/couchdb/couch_rep_httpc.erl b/src/couchdb/couch_rep_httpc.erl index 4ebbcefc..fdc640dd 100644 --- a/src/couchdb/couch_rep_httpc.erl +++ b/src/couchdb/couch_rep_httpc.erl @@ -100,14 +100,16 @@ process_response({ok, Status, Headers, Body}, Req) -> throw(conflict); Code >= 400, Code < 500 -> ?JSON_DECODE(maybe_decompress(Headers, Body)); - Code =:= 500; Code =:= 502 -> + Code =:= 500; Code =:= 502; Code =:= 503 -> #http_db{pause = Pause, retries = Retries} = Req, ?LOG_INFO("retrying couch_rep_httpc request in ~p seconds " ++ % "due to remote server error: ~s~s", [Pause/1000, Req#http_db.url, "due to remote server error: ~p Body ~s", [Pause/1000, Code, Body]), timer:sleep(Pause), - do_request(Req#http_db{retries = Retries-1, pause = 2*Pause}) + do_request(Req#http_db{retries = Retries-1, pause = 2*Pause}); + true -> + exit({http_request_failed, ?l2b(["unhandled response code ", Status])}) end; process_response({ibrowse_req_id, Id}, _Req) -> -- cgit v1.2.3