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