cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jonathan Ellis (JIRA)" <>
Subject [jira] Commented: (CASSANDRA-2019) add interface to DatabaseDescriptor to help setting seeds and tokens at boot time (for EC2 feature)
Date Thu, 20 Jan 2011 18:03:46 GMT


Jonathan Ellis commented on CASSANDRA-2019:

Thanks for the patch, Yang!

CASSANDRA-1669 already solves 1) in 0.8.  We could backport that to the 0.7 branch.

CASSANDRA-957 is open for 2), scheduled for fix in 0.8.  Maybe we could add setInitialToken
as a temporary workaround, but by the time you call setInitialToken isn't it already starting
to bootstrap with the value from the config file?  I think you'd need CASSANDRA-526 to make
this useful.

> add interface to DatabaseDescriptor to help setting seeds and tokens at boot time (for
EC2 feature)
> ---------------------------------------------------------------------------------------------------
>                 Key: CASSANDRA-2019
>                 URL:
>             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.

View raw message