cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jonathan Ellis <jbel...@gmail.com>
Subject Re: iteration does not yield all data with consistency ONE
Date Wed, 10 Nov 2010 14:44:25 GMT
Was the node that should have the other replica of this row down when
it was inserted?

On Wed, Nov 10, 2010 at 6:08 AM, Eric van Orsouw
<eric.van.orsouw@eventis.nl> wrote:
>
> Hello,
>
>
>
> We have a cluster of 4 nodes (0.6.6) and use the random partitioner and a replication
of 2.
>
> When I insert a number of rows I can always retrieve them by their explicit id (get_range_slices(“<key>”,””,
1).
>
> Playing with consistency levels and temporarily shutting down a Cassandra node all yields
the expected result.
>
>
>
> However when I use get_range_slices(“”,””, n) to iterate over all rows, I sometimes
don’t get anything (depending on the node).
>
>
>
> I then reduced the problem to inserting just a single row.
>
> Specifically, the ‘iteration’ only seems to succeed when I issue the request to the
node that contains the first copy.
>
> I Discovered that when I iterate using a consistency level of Quorum/All the iteration
always succeeds and I properly get the one row.
>
>
>
> So a solution would be to always use consistency level One/All but that has a performance
penalty.
>
>
>
> Can anyone explain why iterating using get_range_slices(“”,””,n) does not always
function with consistency level One on all nodes?
>
>
>
> Thanks,
>
> Eric
>
>
>
> P.S. To rule out any discussion on whether or not to use iteration in the first place,
we only plan to use it for backup and periodic cleanup cycles.


--
Jonathan Ellis
Project Chair, Apache Cassandra
co-founder of Riptano, the source for professional Cassandra support
http://riptano.com

Mime
View raw message