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

Jonathan Ellis commented on CASSANDRA-197:
------------------------------------------

yes, dynamo and bigtable both do that, but we're implementing a much thinner 
client than they did.  you sometimes have higher latency but it's much easier 
to write a client.

I don't think this is something we want to expose.  The mapping between tokens 
and keys is pluggable and should be treated as a black box by the client.  
Violating that encapsulation gives the client a really really big gun with 
which to shoot himself in the foot for a rather small benefit.  (Oh, you 
switched from RP to OPP?  Now you have to rewrite all your calls because you 
were manually mapping keys to nodes, sorry.  Let alone writing your own 
Partioner.)

If you wanted to go for a more dynamo-like experience you could add a "gossip 
only" mode where a client "node" asks to be part of the gossip network but with 
no token of its own.  That way it would be as current as the rest of the 
cluster about ring status, and it would be very clear that if you were writing 
this kind of client you need to know cassandra internals and There Be Dragons 
Here.

> Expose ring map to client for more direct access
> ------------------------------------------------
>
>                 Key: CASSANDRA-197
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-197
>             Project: Cassandra
>          Issue Type: New Feature
>            Reporter: Jun Rao
>            Assignee: Jun Rao
>         Attachments: issue197.patchv1
>
>
> For certain applications, it would be nice if a read is sent to a node that 
> owns the data locally. This saves an extra network hop. To do that, a client 
> will need to cache the ring map and use it to figure out the nodes owning a 
> row.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to