Jie Yu created MESOS-1038:
-----------------------------

             Summary: Log coordinator should demote itself after a write is 
discarded.
                 Key: MESOS-1038
                 URL: https://issues.apache.org/jira/browse/MESOS-1038
             Project: Mesos
          Issue Type: Bug
    Affects Versions: 0.17.0
            Reporter: Jie Yu
             Fix For: 0.18.0


After a write operation (append/truncate) is discarded (e.g. due to timeout), 
the log coordinator should demoted itself, because it does not know if the 
previous write operation has been agreed or not. It needs to get re-elected to 
be able to write again.

Consider the following case: there are 3 replicas R1, R2 and R3, and C1 is the 
coordinator co-located with R1. Say C1 tries to write at position 1. All 
replicas receive the write request and accept the write request. C1 
successfully collects a quorum of OK responses, and right before it sends out 
the learned message, the write operation is discarded.

The value at position 1 has been agreed, however, if we don't demote C1 after 
the write operation is discarded, C1 will try to write to the same position 
(position 1) again, with possibly a different value. And that value can be 
later agreed by all replicas, leading to an inconsistency.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to