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

Alex Petrov commented on CASSANDRA-15433:
-----------------------------------------

Committed to 3.0 with 
[11af037fd99bfb4a942f7d7dd55c177a37d29f63|https://github.com/apache/cassandra/commit/11af037fd99bfb4a942f7d7dd55c177a37d29f63]
 and merged up to 
[3.11|https://github.com/apache/cassandra/commit/610d5d4eb5205cd4ca2f573237da14db055757c1],
 
[4.0|https://github.com/apache/cassandra/commit/25f67a75e22fdd9bdabd4b17dd0e11973ce59c2d]
 and 
[trunk|https://github.com/apache/cassandra/commit/d9ca61404334f3bd94c08cf66ccd15e8c5287f52].

> Pending ranges are not recalculated on keyspace creation
> --------------------------------------------------------
>
>                 Key: CASSANDRA-15433
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-15433
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Cluster/Membership
>            Reporter: Josh Snyder
>            Assignee: Sumanth Pasupuleti
>            Priority: Normal
>
> When a node begins bootstrapping, Cassandra recalculates pending tokens for 
> each keyspace that exists when the state change is observed (in 
> StorageService:handleState*). When new keyspaces are created, we do not 
> recalculate pending ranges (around Schema:merge). As a result, writes for new 
> keyspaces are not received by nodes in BOOT or BOOT_REPLACE modes. When 
> bootstrapping finishes, the node which just bootstrapped will not have data 
> for the newly created keyspace.
> Consider a ring with bootstrapped nodes A, B, and C. Node D is pending, and 
> when it finishes bootstrapping, C will cede ownership of some ranges to D. A 
> quorum write is acknowledged by C and A. B missed the write, and the 
> coordinator didn't send it to D at all. When D finishes bootstrapping, the 
> quorum B+D will not contain the mutation.
> Steps to reproduce:
> # Join a node in BOOT mode
> # Create a keyspace
> # Send writes to that keyspace
> # On the joining node, observe that {{nodetool cfstats}} records zero writes 
> to the new keyspace
> I have observed this directly in Cassandra 3.0, and based on my reading the 
> code, I believe it affects up through trunk.



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