couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From fdman...@apache.org
Subject svn commit: r1086186 - /couchdb/branches/1.1.x/src/couchdb/couch_rep.erl
Date Mon, 28 Mar 2011 11:10:16 GMT
Author: fdmanana
Date: Mon Mar 28 11:10:16 2011
New Revision: 1086186

URL: http://svn.apache.org/viewvc?rev=1086186&view=rev
Log:
Backport fix from revision 1086185

    Replicator: fix error when restarting replications in OTP R14B02

    This is a workaround for a change introduced in OTP R14B02 to the supervisor
    module. There's an erlang-bugs thread about this issue:

    http://erlang.org/pipermail/erlang-bugs/2011-March/002273.html


Modified:
    couchdb/branches/1.1.x/src/couchdb/couch_rep.erl

Modified: couchdb/branches/1.1.x/src/couchdb/couch_rep.erl
URL: http://svn.apache.org/viewvc/couchdb/branches/1.1.x/src/couchdb/couch_rep.erl?rev=1086186&r1=1086185&r2=1086186&view=diff
==============================================================================
--- couchdb/branches/1.1.x/src/couchdb/couch_rep.erl (original)
+++ couchdb/branches/1.1.x/src/couchdb/couch_rep.erl Mon Mar 28 11:10:16 2011
@@ -315,7 +315,14 @@ start_replication_server(Replicator) ->
             throw({db_not_found, <<"could not open ", DbUrl/binary>>});
         {error, {unauthorized, DbUrl}} ->
             throw({unauthorized,
-                <<"unauthorized to access database ", DbUrl/binary>>})
+                <<"unauthorized to access database ", DbUrl/binary>>});
+        {error, {'EXIT', {badarg,
+            [{erlang, apply, [gen_server, start_link, undefined]} | _]}}} ->
+            % Clause to deal with a change in the supervisor module introduced
+            % in R14B02. For more details consult the thread at:
+            %     http://erlang.org/pipermail/erlang-bugs/2011-March/002273.html
+            _ = supervisor:delete_child(couch_rep_sup, RepId),
+            start_replication_server(Replicator)
         end;
     {error, {already_started, Pid}} ->
         ?LOG_DEBUG("replication ~p already running at ~p", [RepId, Pid]),



Mime
View raw message