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

Benedict Elliott Smith commented on CASSANDRA-14801:
----------------------------------------------------

Nobody is actively working on it, but this is one of the most deceptively 
complex tickets that needs to be accomplished before 4.0 is released.  I can 
see you work at DataStax, so perhaps you have the time and skill to dedicate to 
this, but please be confident before you address it, and be willing to wait a 
while for a sufficient review.  The class in which the change is needed has had 
numerous bugs (and in fact has inherent conceptually bugs wrt range movements 
that are mostly out of scope to address here), so a great deal of care is 
needed.  Ideally this ticket would attempt to address some of the ugliness that 
permitted the bug, and _certainly_ needs to be accompanied by a 
sophisticated-ish randomised correctness test.

> calculatePendingRanges no longer safe for multiple adjacent range movements
> ---------------------------------------------------------------------------
>
>                 Key: CASSANDRA-14801
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14801
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Legacy/Coordination, Legacy/Distributed Metadata
>            Reporter: Benedict Elliott Smith
>            Priority: Normal
>             Fix For: 4.0, 4.0-beta
>
>
> Correctness depended upon the narrowing to a {{Set<InetAddressAndport>}}, 
> which we no longer do - we maintain a collection of all {{Replica}}.  Our 
> {{RangesAtEndpoint}} collection built by {{getPendingRanges}} can as a result 
> contain the same endpoint multiple times; and our {{EndpointsForToken}} 
> obtained by {{TokenMetadata.pendingEndpointsFor}} may fail to be constructed, 
> resulting in cluster-wide failures for writes to the affected token ranges 
> for the duration of the range movement.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to