diff options
-rw-r--r-- | share/www/script/test/replication.js | 4 | ||||
-rw-r--r-- | src/couchdb/couch_rep.erl | 10 |
2 files changed, 10 insertions, 4 deletions
diff --git a/share/www/script/test/replication.js b/share/www/script/test/replication.js index 5e85847e..25746625 100644 --- a/share/www/script/test/replication.js +++ b/share/www/script/test/replication.js @@ -324,14 +324,14 @@ couchTests.replication = function(debug) { T(continuousResult._local_id); var cancelResult = CouchDB.replicate(dbA.name, "test_suite_db_b", { - body: {"cancel": true} + body: {"continuous":true, "cancel": true} }); T(cancelResult.ok); T(continuousResult._local_id == cancelResult._local_id); try { var cancelResult2 = CouchDB.replicate(dbA.name, "test_suite_db_b", { - body: {"cancel": true} + body: {"continuous":true, "cancel": true} }); } catch (e) { T(e.error == "not_found"); diff --git a/src/couchdb/couch_rep.erl b/src/couchdb/couch_rep.erl index fd323f7f..6e4295ea 100644 --- a/src/couchdb/couch_rep.erl +++ b/src/couchdb/couch_rep.erl @@ -84,8 +84,14 @@ end_replication({BaseId, Extension}) -> {error, not_found} = R -> R; ok -> - ok = supervisor:delete_child(couch_rep_sup, RepId), - {ok, {cancelled, ?l2b(BaseId)}} + case supervisor:delete_child(couch_rep_sup, RepId) of + ok -> + {ok, {cancelled, ?l2b(BaseId)}}; + {error, not_found} -> + {ok, {cancelled, ?l2b(BaseId)}}; + {error, _} = Error -> + Error + end end. start_replication(RepDoc, {BaseId, Extension}, UserCtx) -> |