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-535) Support remote clients via Java API
Date Wed, 25 Nov 2009 20:34:39 GMT

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

Jonathan Ellis commented on CASSANDRA-535:
------------------------------------------

This feels like a hack to me:

     void apply(RowMutation mutation, DataOutputBuffer serializedMutation) throws IOException
     {
+        // bail if we're in client-only mode. No need to write to anything, including the
system table.
+        if (clientOnlyMode)
+            return;

we need to refactor things better so that we're not trying to apply mutations in client mode.
 having a storageservice.initClient for instance.

feels like we should not need a mode flag in the config file either -- if we need a flag in
SS, initClient can set it.  then move directory creation stuff out of DD, e.g. to SS.initServer.

clients should not have tokens associated with them, and should not participate in the ring
at all at that level.  (that is, we should start gossiper so we get updates, but never send
any applicationstate of our own.)

> Support remote clients via Java API
> -----------------------------------
>
>                 Key: CASSANDRA-535
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-535
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Core
>            Reporter: T Jake Luciani
>            Assignee: Gary Dusbabek
>             Fix For: 0.9
>
>         Attachments: 535-v1.diff
>
>
> Cassandra should support Java based clients without requiring the overhead of thrift
serialization.
> To support this, a java client should be able to join the gossip pool but provide no
tokens of its own (so it accepts no writes).
> The way this can be done is add a new startup routine to StorageService called startGossip()
that would only initialize itself enough to get access to gossip.
> I don't think its quite this simple though since cassandra code assumes there is at least
one local token in places.
> Also,  all StorageProxy methods used for thrift service should be made public StorageProxy.getKeyRange()
is not public.

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