auto-reconnect cross-cluster replication after network outage
I have two clusters configured with XDCR between them. According to the docs, if the link between the clusters goes down for >30 seconds, the replication link is severed and requires manual intervention to reconnect (http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-admin-tasks...).
Is there a way around this? Ideally I'm looking to tell couchbase "don't stop trying!", especially not after such a small interval!
If I could change the timeout that would work, but I see no way to do that. Alternatively if there were a way to reconnect the link through the command line I could write a cron job to do just that, but it seems the XDCR functionality is not yet accounted for in the command-line tool.
Any hints?
Digging further, I found the file /opt/couchbase/etc/couchdb/default.ini which looks like it might have some relevant options:
; Maximum replicaton retry count can be a non-negative integer or "infinity".
max_replication_retry_count = 10
; HTTP connection timeout per replication.
; Even for very fast/reliable networks it might need to be increased if a remote
; database is too busy.
connection_timeout = 30000
I haven't been able to test this yet but does this look right to you?
Changing this parameter will up the timeout. Just remember to change it on each node. Also, I have discussed your request for documentation on how to automate cross data center replication with our documentation team and they are working on writing up the necessary documentation for you. We will make it available online as soon as possible.
>> Is there a way around this? Ideally I'm looking to tell couchbase "don't stop trying!", especially not after such a small interval!
I don't think that there is a good way to change this value at this time. I have created an issue for it here http://www.couchbase.com/issues/browse/MB-7150.
As for the other part of your question, I saw you had another post here:
http://www.couchbase.com/forums/thread/command-line-tool-xdcr
Let's continue the discussion there.