[ https://issues.apache.org/jira/browse/COUCHDB-1271?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13097806#comment-13097806 ]
Robert Newson commented on COUCHDB-1271: ---------------------------------------- I like the API. I added the original "cancel":true feature and agree that it has all of the above holes. Could the two cancel_replication functions become two clauses of a single function (where user_ctx is nil in the one case)? I think that would be a little clearer since you could call cancel_replication just once in replicate/1. > Impossible to cancel replications in some scenarios > --------------------------------------------------- > > Key: COUCHDB-1271 > URL: https://issues.apache.org/jira/browse/COUCHDB-1271 > Project: CouchDB > Issue Type: Bug > Components: Replication > Reporter: Filipe Manana > Assignee: Filipe Manana > Fix For: 1.2 > > > In some scenarios it's impossible to cancel a replication by posting to > /_replicate, namely: > 1) A filtered replication is started, the filter's code is updated in the > source database, therefore's a subsequent cancel request will not generate > the old replication ID anymore, has it got a different filter code; > 2) Dynamically changing the httpd port will also result in the impossibility > of computing the right replication ID > Finally, it's also nicer for users to not need to remember the exact > replication object posted before to /_replicate. > The new approach, in addition to the current approach, allows something as > simple as: > POST /_replicate > {"replication_id": > "0a81b645497e6270611ec3419767a584+continuous+create_target", "cancel": true} > The replication ID can be obtained from a continuous replication request's > response (field "_local_id"), _active_tasks (field "replication_id") or from > the log. > Aliases "_local_id" and "id" are allowed instead of "replication_id". > Patch: > https://github.com/fdmanana/couchdb/commit/c8909ea9dbcbc1f52c5c0f87e1a95102a3edfa9f.diff > (depends on COUCHDB-1266) -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira