Thanks for the confirmation. Interesting alternatives to avoid random
coordinator.
Are there any blogs/writeups of they (primary node as co-ordinator) been
used in production scenarios. I googled but could not find anything
relevant.

On Wed, Feb 16, 2011 at 3:25 AM, Oleg Anastasyev <olega...@gmail.com> wrote:

> A J <s5alye <at> gmail.com> writes:
>
> >
> >
> > Makes sense ! Thanks.
> > Just a quick follow-up:
> > Now I understand the write is not made to coordinator (unless it is part
> of
> the replica for that key). But does the write column traffic 'flow' through
> the
> coordinator node. For a 2G column write, will I see 2G network traffic on
> the
> coordinator node  or just a few bytes of traffic on the co-ordinator of it
> reading the key and talking to nodes/client etc ?
>
> Yes, if you talk to random (AKA coordinator) node first - all 2G traffic
> will
> flow to it first and then forwarded to natural nodes (those owning replicas
> of a
> row to be written).
> If you want to avoid extra traffic, you should determine natural nodes of
> the
> row and send your write directly to one of natural nodes (i.e. one of
> natural
> nodes became coordinator). This natural coordinator node will accept write
> locally and submit write to other replicas in parallel.
> If your client is written in java this can be implemented relatively easy.
> Look
> at TokenMetadata.ringIterator().
>
> If you have no requirement on using thrift interface of cassandra, it could
> be
> more efficient to write using StorageProxy interface. The latter plays a
> local
> coordinator role, so it talks directly to all replicas, so these 2G will be
> passed directly from your client to all row replicas.
>
>
> >
> > This will be a factor for us. So need to make sure exactly.
>
>
>

Reply via email to