Hi Robert, I tried to set up a new node with join_ring=false once. In my test that node did not pick a token in the ring. I assume running repair or rebuild would not do anything in that case: No tokens = no data. But I must admit: I have not tried running rebuild.
Is a new node with join_ring=false supposed to pick tokens? From driftx comment in CASSANDRA-6961 I take it should not. Tom: What does "nodetool status" say after you started the new node with join_ring=false? In my test I got a node that was not in the ring at all. kind regards, Christian On Tue, Sep 8, 2015 at 9:05 PM, Robert Coli <rc...@eventbrite.com> wrote: > > > On Tue, Sep 8, 2015 at 1:39 AM, horschi <hors...@gmail.com> wrote: > >> "The idea of join_ring=false is that other nodes are not aware of the >> new node, and therefore never send requests to it. The new node can then be >> repaired" >> Nicely explained, but I still see the issue that this node would not >> receive writes during that time. So after the repair the node would still >> miss data. >> Again, what is needed is either some joining-state or write-survey that >> allows disabling reads, but still accepts writes. >> > > https://issues.apache.org/jira/browse/CASSANDRA-6961 > " > We can *almost* set join_ring to false, then repair, and then join the > ring to narrow the window (actually, you can do this and everything > succeeds because the node doesn't know it's a member yet, which is probably > a bit of a bug.) If instead we modified this to put the node in hibernate, > like replace_address does, it could work almost like replace, except you > could run a repair (manually) while in the hibernate state, and then flip > to normal when it's done. > " > > Since 2.0.7, you should be able to use join_ring=false + repair to do the > operation this thread discusses. > > Has anyone here tried and found it wanting? If so, in what way? > > For the record, I find various statements in this thread confusing and > likely to be wrong : > > " And again, your node won't receive any writes while you are rebuilding. >> " > > > If your RF has been increased in the new DC, sure you will, you'll get the > writes you're supposed to get because of your RF? The challenge with > rebuild is premature reads from the new DC, not losing writes? > > Running nodetool rebuild on a node that was started with join_ring=false >> does not work, unfortunately. The nodetool command returns immediately, >> after a message appears in the log that the streaming of data has started. >> After that, nothing happens. > > > Per driftx, the author of CASSANDRA-6961, this sounds like a bug. If you > can repro, please file a JIRA and let the list know the URL. > > =Rob > > >