You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict (JIRA)" <ji...@apache.org> on 2018/08/25 08:53:00 UTC
[jira] [Created] (CASSANDRA-14666) Race condition in
AbstractReplicationStrategy.getNaturalReplicas
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: commits-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org