Benedict created CASSANDRA-14666:
------------------------------------

             Summary: Race condition in 
AbstractReplicationStrategy.getNaturalReplicas
                 Key: CASSANDRA-14666
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14666
             Project: Cassandra
          Issue Type: Improvement
            Reporter: Benedict
            Assignee: Benedict
             Fix For: 3.0.x, 3.11.x, 4.0.x


There is a very narrow and infrequent race window, in which two ring updates 
occur in a short space of time (or during an interval of no queries):

- thread A invalidates the cache after the first ring change, snapshots this 
version of the ring, and begins to calculate its natural endpoints
- thread B sees the second ring change, and invalidates the cache before thread 
A completes
- thread A writes its value to the cache, based on the old ring layout

Now, a stale view of the endpoints for this token will be persisted in 
AbstractReplicationStrategy until the next ring change (which may feasibly 
never occur)




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to