add interface to DatabaseDescriptor to help setting seeds and tokens at boot
time (for EC2 feature)
---------------------------------------------------------------------------------------------------
Key: CASSANDRA-2019
URL: https://issues.apache.org/jira/browse/CASSANDRA-2019
Project: Cassandra
Issue Type: New Feature
Components: Core
Affects Versions: 0.7.0
Reporter: Yang Yang
Fix For: 0.7.1
1)
in the amazon EC2 environment, machines die off and more frequently, and new
instances are brought up more often, so even if we list out all the nodes in
the ring as seeds, all of these seeds may have gradually died off after some
time. at that time , new nodes joining won't be able to find the existing ring,
and will establish a new, separate ring of the same name, which is wrong.
we have made some custom code that utilizes external systems to figure out the
EC2 autoscaler group, and at boot time feed this info to the new node. but this
requires the new node to be able to modify the seeds at boot time. right now
the DatabaseDescriptor only has a getSeeds() method, we would like to add a
setSeeds()
2) similarly, for the token-1 trick, we wrote code to do this automatically.
the StorageService.initServer() code reads the initialToken at boot time, we
need to be able to modify this at boot time. so we would like to add
DatabaseDescriptor.setInitialToken()
patch attached.
also theoretically we could do both just by modifying the config file, but that
requires running a separate process before cassandra daemon starts, which is
not as clean.
Thanks a lot
Yang
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.