cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Riyad Kalla <>
Subject Re: Will writes with < ALL consistency eventually propagate?
Date Tue, 08 Nov 2011 04:07:05 GMT

Thanks for the additional insight on this -- think of a CDN that needs to
respond to requests, distributed around the globe. Ultimately you would
hope that each edge location could respond as quickly as possible (RF=N)
but if each of the ring members keep open/active connections to each other,
and a request comes in to an edge location that does not contain a copy of
the data, does it request the data from the node that does, then cache it
(in the case of more requests coming into that edge location with the same
request) or does it reply once and forget it, requiring *each* subsequent
request to that node to always phone back home to the node that actually
contains it?

The CDN/edge-server scenario works particularly well to illustrate my
goals, if visualizing that helps.

Look forward to your thoughts.


On Mon, Nov 7, 2011 at 8:05 PM, Peter Schuller

> > Given that, the way I've understood this discussion so far is I would
> have a
> > RF of N (my total node count) but my Consistency Level with all my writes
> > will *likely* be QUORUM -- I think that is a good/safe default for me to
> use
> > as writes aren't the scenario I need to optimize for latency; that being
> > said, I also don't want to wait for a ConsistencyLevel of ALL to complete
> > before my code continues though.
> > Would you agree with this assessment or am I missing the boat on
> something?
> Are you *sure* you care about latency to the degree that data being
> non-local actually matters to your application?
> Normally you don't set RF=N unless you have particularly special
> requirements. The extra latency implied by another network round-trip
> is certainly greater than zero, but in many practical situations
> outliers and the behavior in case of e.g. node problems is much more
> important than an extra millisecond or two on the average request.
> Setting RF=N causes a larger data set on each node, in addition to
> causing more nodes to be involved in every request. Consider whether
> it's a better use of resources to set RF to e.g. 3 instead, and let
> the ring grow independently. That is what one normally does.
> --
> / Peter Schuller (@scode,

View raw message