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

Brad Schoening commented on CASSANDRA-21770:
--------------------------------------------

Please see 
{{[CASSANDRA-17665|https://issues.apache.org/jira/browse/CASSANDRA-17665] Add 
nodetool getreplicas}}

> Add node-centric interface for identifying replica peers
> --------------------------------------------------------
>
>                 Key: CASSANDRA-21770
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21770
>             Project: Apache Cassandra
>          Issue Type: Improvement
>          Components: Feature/Virtual Tables, Tool/nodetool
>            Reporter: n.v.harikrishna
>            Assignee: n.v.harikrishna
>            Priority: Normal
>             Fix For: 6.x, 7.x
>
>         Attachments: ci_summary.html
>
>
> *Problem*
>  
> Operators often need to bounce, upgrade or replace nodes one after another. 
> To keep data available, they must not take down a node and the nodes that 
> hold copies of the same data (its replica peers) at the same time.
>  
> The tools Cassandra has today, such as nodetool describering and nodetool 
> getendpoints, are range-centric or key-centric. They answer "which nodes own 
> this range or key?" Operators need the node-centric answer: "which nodes 
> share data with this node?" To get it now, they have to put it together 
> themselves from token ranges, keyspaces and replication settings. This is 
> slow and easy to get wrong, especially while nodes are joining or leaving the 
> cluster.
>  
> *Proposed solution*
>  
> Add a node-centric view of replica peers: for each node, list the other nodes 
> that share at least one token range with it. Peers are grouped by datacenter. 
> Reads and writes are listed separately, because they can differ while nodes 
> are joining or leaving. The data comes from the cluster metadata. This view 
> is exposed through:
>  - A new nodetool command: _nodetool placement peers_. It can filter by node 
> (-n), datacenter (-dc) and keyspace (-k / -x). It prints YAML or JSON.
>  - A new JMX operation in StorageServiceMBean.
>  - A new virtual table, _system_views.replica_peers_, which shows the peers 
> of the local node.
> _Sample output:_
> {noformat}
> $ nodetool placement peers
> version: 0
> format_version: 1
> epoch: 9
> keyspaces: [ks1, system_auth, system_cluster_metadata, system_distributed, 
> system_traces]
> endpoints: {1: '127.0.0.1:7005', 2: '127.0.0.3:7005', 3: '127.0.0.2:7005'}
> peers:   1:
>     read:       datacenter1: [2, 3]
>     write:       datacenter1: [2, 3]
>   2:
>     read:       datacenter1: [1, 3]
>     write:       datacenter1: [1, 3]
>   3:
>     read:       datacenter1: [1, 2]
>     write:       datacenter1: [1, 2]
> catch_up: SKIPPED
> cms: INITIALIZED
> queried_from: 127.0.0.1:7005
> {noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to