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

Stefan Miklosovic commented on CASSANDRA-17577:
-----------------------------------------------

For getting the token, I think you need to replicate something like this, first 
we need to know what partitioner we have and based on that we use the right 
token class and then we get token from it.

https://github.com/datastax/python-driver/blob/master/cassandra/metadata.py#L282-L288

> Add cqlsh SHOW REPLICAS by token command
> ----------------------------------------
>
>                 Key: CASSANDRA-17577
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-17577
>             Project: Cassandra
>          Issue Type: New Feature
>          Components: CQL/Interpreter
>            Reporter: Brad Schoening
>            Assignee: Brad Schoening
>            Priority: Normal
>             Fix For: 4.x
>
>          Time Spent: 1h
>  Remaining Estimate: 0h
>
> It is often useful to know when a query fails or a query is slow which nodes 
> the query was routed  too. For clusters with vnodes, determining this is not 
> simple and requires an admin tool like 'nodetool getendpoints;. 
> But, the Cassandra driver has cluster metadata which identifies which nodes 
> are the replicas for a given token range.  It should be straightforward to 
> support this in CQLSH.
> Example with python driver:
> {quote}from cassandra.cluster import Cluster
> from cassandra.auth import PlainTextAuthProvider
> import cassandra.metadata
> from cassandra.metadata import Murmur3Token
>  
> auth_provider = PlainTextAuthProvider(username='cassandra', 
> password='cassandra')
> cluster = Cluster(['127.0.0.1'], auth_provider=auth_provider)
> session = cluster.connect('tests')
> cluster.metadata.token_map.get_replicas('tests',Murmur3Token(100))
> {color:#4c9aff}>>> 
> cluster.metadata.token_map.get_replicas('tests',Murmur3Token(100)){color}
> {color:#4c9aff}[<Host: 127.0.0.1:9042 datacenter1>]{color}
>  
> {quote}
> Users shouldn't require access to an admin tool like nodetool to access the 
> cluster metadata.  This is especially true for Cassandra-as-a-service 
> offerings like AWS keyspaces or Instaclustr's managed service.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

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

Reply via email to