Consider the following scenario:
3 EC2 instances located in:
Each instance is a dedicated CouchDB server. Each CouchDB server is configured for continuous replication with each other server (bidirectional).
Now suppose the Irish server shuts down due to some AWS failure. US-WEST and Tokyo CouchDB servers will repeat X times in a row, and then ultimately replicate with this server (is that right?)
Let's try to go 6 hours, and AWS will return the region back to the network, and this server will return - I assume that US-WEST and Tokyo will ignore the server in Ireland until the Irish CouchDB server initiates bidirectional synchronization with both of them, a la:
Irish CouchDB _replicator Pseudo Settings
- replicate [source = local, target = we-west]
- replicate [source = we-west, target = local]
- replicate [source = local, target = Tokyo]
- replicate [source = Tokyo, target = local]
Q1: Is my understanding of Couch replication error or recovery correct?
Q2: What happens if a network failure occurs in an hour (in particular: there is no restart of the server causing the database to restart at startup), how do the corresponding CouchDB instances react to this? I believe that us-west and tokyo will forget about Ireland, but will Ireland start talking to these two servers again, reinitializing bidirectional continuous replication?
EC2, , , , .
!