[ 
https://issues.apache.org/jira/browse/CASSANDRA-16673?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17475569#comment-17475569
 ] 

Jon Meredith commented on CASSANDRA-16673:
------------------------------------------

+1

There's still a pending nit about {{cloneWithNewPartitioner}} not copying the 
ring version, and up to you if you'd like to add the stress test as well 
[https://github.com/jonmeredith/cassandra/commit/349694482456b0bdbbd33cf2076b4c410a77cf78]
 (though the imports look like they need a cleanup)

Looks like this race has been here since natural endpoint caching was 
introduced - so fix from 3.0 and up?

> Avoid race in AbstractReplicationStrategy endpoint caching
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-16673
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-16673
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Cluster/Membership
>            Reporter: Marcus Eriksson
>            Assignee: Marcus Eriksson
>            Priority: Normal
>
> We should make sure we track which ringVersion we are caching in 
> AbstractReplicationStrategy to avoid a race where we might return the wrong 
> EndpointsForRange.
> {code}
> Caused by: java.lang.IllegalArgumentException: 9010454139840013625 is not 
> contained within (9223372036854775801,-4611686018427387905]
>       at 
> org.apache.cassandra.locator.EndpointsForRange.forToken(EndpointsForRange.java:59)
>       at 
> org.apache.cassandra.locator.AbstractReplicationStrategy.getNaturalReplicasForToken(AbstractReplicationStrategy.java:104)
>       at 
> org.apache.cassandra.locator.ReplicaLayout.forTokenReadLiveSorted(ReplicaLayout.java:330)
>       at 
> org.apache.cassandra.locator.ReplicaPlans.forRead(ReplicaPlans.java:594)
> {code}



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

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

Reply via email to