cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From aaron morton <aa...@thelastpickle.com>
Subject Re: Replica data distributing between racks
Date Tue, 03 May 2011 11:23:52 GMT
I've been digging into this and worked was able to reproduce something, not sure if it's a
fault and I can't work on it any more tonight. 


To reproduce:
- 2 node cluster on my mac book
- set the tokens as if they were nodes 3 and 4 in a 4 node cluster, e.g. node 1 with 85070591730234615865843651857942052864
and node 2 127605887595351923798765477786913079296 
- set cassandra-topology.properties to put the nodes in DC1 on RAC1 and RAC2
- create a keyspace using NTS and strategy_options = [{DC1:1}]

Inserted 10 rows they were distributed as 
- node 1 - 9 rows 
- node 2 - 1 row

I *think* the problem has to do with TokenMetadata.firstTokenIndex(). It often says the closest
token to a key is the node 1 because in effect...

- node 1 is responsible for 0 to 85070591730234615865843651857942052864
- node 2 is responsible for 85070591730234615865843651857942052864 to 127605887595351923798765477786913079296
- AND node 1 does the wrap around from 127605887595351923798765477786913079296 to 0 as keys
that would insert past the last token in the ring array wrap to 0 because  insertMin is false.


Thoughts ? 

Aaron


On 3 May 2011, at 10:29, Eric tamme wrote:

> On Mon, May 2, 2011 at 5:59 PM, aaron morton <aaron@thelastpickle.com> wrote:
>> My bad, I missed the way TokenMetadata.ringIterator() and firstTokenIndex() work.
>> 
>> Eric, can you show the output from nodetool ring ?
>> 
>> 
> 
> Sorry if the previous paste was way to unformatted, here is a
> pastie.org link with nicer formatting of nodetool ring output than
> plain text email allows.
> 
> http://pastie.org/private/50khpakpffjhsmgf66oetg


Mime
View raw message