Ariel Weisberg created CASSANDRA-13419:
------------------------------------------

             Summary: Relax limit on number of pending endpoints during CAS
                 Key: CASSANDRA-13419
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-13419
             Project: Cassandra
          Issue Type: Improvement
          Components: Coordination, CQL
            Reporter: Ariel Weisberg
            Assignee: Ariel Weisberg


CASSANDRA-8346 avoids stale reads during CAS when checking the condition or 
doing serial reads by disallowing more than one pending endpoint.

It seems like it should be possible to allow more than one pending endpoint by 
being smarter about who we read from during the QUORUM read or about the state 
of pending nodes that are there for host replacement.

Sylvain suggested 

bq. Well, I guess things are working as they do for decently good reason here. 
That said, thinking about it, it could be that the solution from CASSANDRA-8346 
is a bit of a big hammer: I believe it's enough to ensure that we read from at 
least one replica that responded to PREPARE 'in the same Paxos round' But we 
have timeouts on the paxos round, so it could be it is possible to reduce 
drastically the time we consider a node pending for CAS so that it's not a real 
problem in practice. Something like having pending node move to a "almost 
there" state before becoming true replica, and staying in that state for 
basically the max time of a paxos round, and then Paxos might be able to 
replace "pending" nodes by those "almost there" for PREPARE.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to