cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ariel Weisberg (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-13419) Relax limit on number of pending endpoints during CAS
Date Wed, 05 Apr 2017 21:33:41 GMT
Ariel Weisberg created CASSANDRA-13419:

             Summary: Relax limit on number of pending endpoints during CAS
                 Key: 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

View raw message