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/09/12 14:37:00 UTC

[jira] [Updated] (CASSANDRA-14739) calculatePendingRanges when multiple concurrent range movements is unsafe

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

Benedict updated CASSANDRA-14739:
---------------------------------
    Labels: correctness  (was: )

> calculatePendingRanges when multiple concurrent range movements is unsafe
> -------------------------------------------------------------------------
>
>                 Key: CASSANDRA-14739
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14739
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Benedict
>            Priority: Major
>              Labels: correctness
>
> If two nodes are bootstrapped at the same time that own adjacent portions of the ring (i.e. always for nodes), they will not receive the correct data for pending writes (and perhaps not for streaming - TBC)
> By default, we don't "permit" multiple nodes to bootstrap at once, but:
>  
> # The logic we use to prevent this itself isn’t strongly consistent (or atomically applied).  If two nodes start bootstrapping close together in time, or simply get divergent gossip state, they can both believe there is no other node bootstrapping and proceed.
> # The bug doesn’t require two nodes to _actually_ bootstrap at the same time, there only needs to be divergent gossip state on a coordinator, so that the coordinator _believes_ there are multiple bootstrapping, even though one of them may have completed, and they never overlapped in reality.
> # We can bootstrap and remove nodes concurrently, I think?  I’m pretty sure this can also be unsafe, but needs some more thought.



--
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