[ 
https://issues.apache.org/jira/browse/CASSANDRA-14666?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

C. Scott Andreas updated CASSANDRA-14666:
-----------------------------------------
    Component/s: Distributed Metadata

> Race condition in AbstractReplicationStrategy.getNaturalReplicas
> ----------------------------------------------------------------
>
>                 Key: CASSANDRA-14666
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14666
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Distributed Metadata
>            Reporter: Benedict
>            Assignee: Benedict
>            Priority: Major
>              Labels: correctness
>             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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to