Jonathan, I have downloaded 0.6.8 and the iteration problem is fixed.
Thanks,
Eric

-----Original Message-----
From: Jonathan Ellis [mailto:jbel...@gmail.com] 
Sent: donderdag 11 november 2010 23:05
To: user
Subject: Re: iteration does not yield all data with consistency ONE

Can you try with the latest 0.6 svn branch?
https://svn.apache.org/repos/asf/cassandra/branches/cassandra-0.6  It
may be caused by https://issues.apache.org/jira/browse/CASSANDRA-1722
which is fixed there.

On Thu, Nov 11, 2010 at 4:56 AM, Eric van Orsouw
<eric.van.ors...@eventis.nl> wrote:
> I have tried it with RF=1 and 2 nodes and the result was the same.
> In this case I am not able to query anything, regardless the consistency 
> level.
>
> I have conducted some more tests with 4 nodes and RF=2 and before each test I 
> also completely cleared all datafiles (data/commit/saved_cache).
> Each time I do this the nodes get different locations on the ring and the 
> noticed behavior is different (but similar) each time.
> I have added the details for 2 concrete scenario;
>
> ----
> 1) clear all 3 data directories for all nodes
> 2) startup all nodes; the ring is;
>
> # bin/nodetool -h 172.16.21.12 ring
> Address       Status     Load          Range                                  
>     Ring
>                                       81296677393575658129031223607666487650
> 172.16.21.12  Up         489 bytes     61644956546475371096781179489550878842 
>     |<--|
> 172.16.21.14  Up         489 bytes     63811055530446251457866768401307252614 
>     |   |
> 172.16.21.13  Up         489 bytes     71622328744148061175473750202165524046 
>     |   |
> 172.16.21.11  Up         489 bytes     81296677393575658129031223607666487650 
>     |-->|
>
> 3) I use the following ColumnFamily     <ColumnFamily Name="Customers" 
> ColumnType="Super" CompareWith="AsciiType"/>
> And add the following rows (key and values utf8 strings)
> Customer['1'].simple.id='1'
> Customer['2'].simple.id='2'
> Customer['3'].simple.id='3'
> Customer['4'].simple.id='4'
>
> 4) Iterating over the columns now yield;
>        Iterating Nodes .11 thru.13 ==> all rows, regardless of consistency 
> level
>        Iterating Node.14           ==> only row '3' and '4' with consistency 
> level ONE, all rows with consistency level All
>
> ----
> Repating all process steps again yields the following ring and iteration 
> results
> # bin/nodetool -h 172.16.21.11 ring
> Address       Status     Load          Range                                  
>     Ring
>                                       157208721428268855331814529932509412075
> 172.16.21.11  Up         489 bytes     18662665007498667259581716616851966032 
>     |<--|
> 172.16.21.13  Up         489 bytes     
> 125997322478065775200568923383951796531    |   |
> 172.16.21.12  Up         489 bytes     
> 148125235552363592916130178190645177045    |   |
> 172.16.21.14  Up         489 bytes     
> 157208721428268855331814529932509412075    |-->|
>
>        Iterating Nodes .11 .12 .14 ==> no data with consistency level One, 
> all rows with consistency level All
>        Iterating Node .13          ==> only row '3' and '4' with consistency 
> level ONE, all rows with consistency level All
>
> I appears to me there is an inconsistency somewhere, I hope this info helps.
>
> Eric
>
>
> -----Original Message-----
> From: Jonathan Ellis [mailto:jbel...@gmail.com]
> Sent: woensdag 10 november 2010 17:48
> To: user
> Subject: Re: iteration does not yield all data with consistency ONE
>
> Interesting.  Does it simplify further to RF=1 and 2 nodes?
>
> On Wed, Nov 10, 2010 at 8:58 AM, Eric van Orsouw
> <eric.van.ors...@eventis.nl> wrote:
>> No, all nodes were up and running while the single key was inserted.
>> The insert however was with consistency One. I assume however that the 
>> replicas are still written in this case.
>> It is btw also very reproducible.
>>
>> -----Original Message-----
>> From: Jonathan Ellis [mailto:jbel...@gmail.com]
>> Sent: woensdag 10 november 2010 15:44
>> To: user
>> Subject: Re: iteration does not yield all data with consistency ONE
>>
>> 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.ors...@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
>>
>
>
>
> --
> Jonathan Ellis
> Project Chair, Apache Cassandra
> co-founder of Riptano, the source for professional Cassandra support
> http://riptano.com
>



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

Reply via email to