zalando-stups / planb-cassandra

Plan B Cassandra for STUPS/AWS with static IPs
Other
27 stars 18 forks source link

Provide subcommand for scaling out a ring #174

Open a1exsh opened 7 years ago

a1exsh commented 7 years ago

Since introduction of AUTO_BOOTSTRAP parameter, it is no longer safe to blindly follow the documented "Scale out" procedure. We should have a dedicated subcommand to add a node to the ring.

lmineiro commented 7 years ago

Why do you say it's not safe to extend the ring without automatic bootstrap?

a1exsh commented 7 years ago

I believe the new node will claim the tokens and start serving reads immediately, but it doesn't have the data. Do you think it's not the case?

lmineiro commented 7 years ago

I believe you're right. I still see a couple of good use cases where this is The Right Thing To Do: 2 AZs to 3 AZs, for ex, to avoid having one first super node. Apart from read consistency level of ALL (which automatically repairs) I'd see only the option of disabling gossip on the node (marking it as down) so that it wouldn't serve reads. Maybe we should test once again if a new node, that wasn't automatically bootstrapped, starts serving reads and, if it indeed it still does, if the option of disabling gossip works. CL = ALL would be overkill

a1exsh commented 7 years ago

Interesting thoughts. In any case someone who is not aware of these details could impact the cluster severely, if the exiting doc is followed as is.

lmineiro commented 7 years ago

👍