Hi Kaushal,

See comments below:

> On 12 Dec 2015, at 04:07, Kaushal Shriyan <[email protected]> wrote:
> 
> Hi,
> 
> I have couple of questions which are as below :-
> 
> 1) In a 3 node single ensemble, i have 1 leader and 2 followers. when i
> explicitly shutdown down the leader for testing purpose, leader election
> triggers in between the remaining 2 nodes and i see that one of the node
> becomes a leader and the other is a follower. I am not sure if i completely
> understood it. Since there are only 2 nodes how does leader election happen
> because we need odd numbers in order to form a quorum. Please correct me if
> i am understanding it wrong.
> 

You need an odd number of total members in the ensemble. If you have an 
ensemble of 3, then you can tolerate one crashed server, which means that your 
quorums have size two. That's why two servers can elect a leader among them.

In general, if n is the number of servers in the ensemble, then you can 
tolerate f crashed servers and the relationship between n and f is n = 2f + 1.

> 2) Is it possible to configure 3 nodes each in DC1 and DC2?
> meaning 1 ensemble consists of 6 nodes with 3 nodes in DC-1 and 3 nodes in
> DC-2
> DC-1 1 Leader 2 Followers
> DC-2  1 Follower 2 Observers.
> 
> if DC-1 goes down, will there be a leader election between 3 nodes in DC-2?
> Please advise.

No, the two observers won't participate in the election, and the remaining 
participant in DC-2 will keep waiting for DC-1 to come back up.

This question about tolerating a DC going down using a second DC is a classic 
one. If we allowed DC-2 to elect a leader in the total absence of processes of 
DC-1, then we would be prone to split brain scenarios: DC-1 suspects DC-2 and 
vice-versa, but they are both up. If you want availability when a DC going 
down, you need a third DC. Also, keep in mind that availability here refers to 
both reads and writes. You can set it up to go into read-only mode. 

-Flavio

Reply via email to