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