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.

Reply via email to