Hi, responses inline...

> On 11 Feb 2025, at 17:36, Long Pan <panlong...@gmail.com> wrote:
> 
> Hey Sam, 
> The improvements in CEP-21 look awesome. I am currently running Cassandra 4.1 
> and plan to upgrade to 5.x in the future, where CEP-21 has been implemented. 
> I have a few questions:
>     • I am using the single-token architecture, where operators set the token 
> for every node by explicitly configuring the initial_token field in 
> cassandra.yaml. There should be no conflict between this setup and CEP-21, 
> correct? My understanding suggests it is compatible, but I’d like to confirm 
> it to be safe.

Absolutely, single token configuration is completely supported.

>     • In the CEP, you provided a detailed explanation and examples of the 
> bootstrap and decommission flows (link). Would you mind extending this to 
> cover the flow for node replacement as well?

Node replacement is a lot like bootstrap, but slightly simplified as it doesn't 
involve any range splitting / adding new tokens. The replacement node just 
takes ownership of the range(s) previously replicated by the node being 
replaced. The sequencing of steps is the same as bootstrap though :
1) new node added as write replica
2) new node streams existing data from peers
3) new node becomes read replica & old node removed from set of read replicas
4) old node remove from write replica set

>     • Since the Cassandra Management System (CMS) holds the source of truth 
> for cluster topology, will there be a nodetool command to query CMS directly 
> for this information? As operators, we often need to retrieve topology 
> details, such as which nodes are leaving, live, joining, moving, or 
> unreachable. Currently, this information is obtained via a JMX call to 
> org.apache.cassandra.db:type=StorageService, which is gossip-backed. However, 
> gossip mismatches can lead to non-deterministic results across nodes.

The topology-related methods on the StorageService mbean interface report state 
according to cluster metadata now and don't rely on gossip state any more.
By extension, nodetool commands like "ring" & "status" are backed by cluster 
metadata.  

> Thanks, and I appreciate your insights!

Thanks a lot,
Sam

> 
> Best,
> Long

Reply via email to