cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <j...@apache.org>
Subject [jira] Commented: (CASSANDRA-197) Expose ring map to client for more direct access
Date Fri, 22 May 2009 17:43:45 GMT

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


Mime
View raw message