Categories

Useful tidbits

During my day to day work I often stumble upon problems I’ve not encountered before. Usually I find solutions quickly, either by thrawling manual pages (oh ‘man’ how I love thee), StackOverflow or Google. When I discover good solutions I think to myself “must remember to share this with someone”, and then I forget all about it. This post is my attempt at rectifying that.

The things I will present are fairly trivial in themselves, and may very well be available through documentation, but have some aspect that I find worth noting. We’ll start off easy.

Cancel CouchDB replication

Today I needed to cancel one of the replications that were running between two couchdb-instances. The manual tells you that you can restart the couchdb server, since that clears the list of replication jobs. I wanted to leave the other replications running and just kill the one I really needed to die.

If you read the documentation on replication you will learn how easy it is to do it using curl.

1
2
3
4
5
curl \
-X POST \
-H 'Content-Type: application/json' \
-d '{"source":"mydb","target":"http://mytargethost.com:5984/mydb/", "cancel": true}' \
http://mysourcehost.com:5984/_replicate

The only problem is that this will not do anything if it is set up to be a continuous replication. To cancel a running continuous replication you have to explicity tell CouchDB that “yeah, I know what I am doing, I really do want to cancel thins continuous replication”. Like so;

1
2
3
4
5
curl \
-X POST \
-H 'Content-Type: application/json' \
-d '{"source":"mydb","target":"http://mytargethost.com:5984/mydb/", "continuous":true, "cancel": true}' \
http://mysourcehost.com:5984/_replicate

Do you see the difference? I added “continuous”:true to the json structure. That’s really all there is to it!

Stay tuned for more of these. I’ll try to update on a day to day basis.

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

Spam protection by WP Captcha-Free