On Feb 12, 2013, at 18:58 , aaron morton <aa...@thelastpickle.com> wrote:
> Just checking if this sorted it's self out? 

Well, partially. :) Situation at the moment:


>> 1) Is the new node not showing up in the "nodetool status" expected behavior?

Not showing still, don't know if should. :)


>> 2) Do I have to wait for all the data streaming to end until the new node 
>> starts to accept writes? If yes, has this changed from 1.1? (I remember 
>> nodes becoming writeable immediately after booting, but readable only after 
>> streaming has ended)

This does not seem to be the case. Writes are indeed relayed to the 
bootstrapping node during the bootstrapping even if it is not shown as a part 
of the cluster.


>> 3) "nodetool info" on the new node raises an exception "Exception in thread 
>> "main" java.lang.AssertionError at 
>> org.apache.cassandra.locator.TokenMetadata.getTokens(TokenMetadata.java:465)"
>>  This is probably not normal?

Still an issue. Should probably file a bug on this one?


>> 4) Is it so that the virtual tokens for the new node are not assigned before 
>> the data streaming ends? ("select * from peers;" on .11 returns null for the 
>> tokens of .14) If so, how the existing nodes decide what data to stream to a 
>> new node?

By reading the code it seems that the tokens are indeed generated early in the 
bootstrapping sequence and propagated (via gossip?) to the other nodes. 
However, I haven't still figured out why they are not shown in the list of 
peers when querying using CQL.

FYI.. While playing with this I bumbed into a bug that prevents compactions 
from running while a node is in the bootstrapping state: 
https://issues.apache.org/jira/browse/CASSANDRA-5244 Might be an issue at least 
for those running clusters with lots of data per node (= long bootstrap times) 
and heavy write load (= lots of data to compacted).

Cheers,

-Jouni

Reply via email to