You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Rick Branson (JIRA)" <ji...@apache.org> on 2012/12/15 01:20:12 UTC

[jira] [Commented] (CASSANDRA-2356) make the debian package never start by default

    [ https://issues.apache.org/jira/browse/CASSANDRA-2356?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13532819#comment-13532819 ] 

Rick Branson commented on CASSANDRA-2356:
-----------------------------------------

FWIW, we disable automatic starts for every persistence-related daemon in production. Anecdotally, most people I respect in operations have a philosophy along these lines. I think perhaps reboots are more up for discussion, but if I dpkg -i cassandra.deb, I don't want it to start. There is no case I can think of where a .deb for a service like Cassandra does not involve additional configuration before it's safe to boot. 

Even state-free stuff is risky: for instance, if we bring up a brand new web server on a reused IP before it's been completely configured, if the IP was not removed from the upstream load balancer before this was the case, it might begin to answer requests before it was ready to go.
                
> make the debian package never start by default
> ----------------------------------------------
>
>                 Key: CASSANDRA-2356
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-2356
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: Packaging
>            Reporter: Jeremy Hanna
>            Priority: Minor
>              Labels: debian, packaging
>         Attachments: 2356.txt
>
>
> Currently the debian package that installs cassandra starts cassandra by default.  It sounds like that is a standard debian packaging convention.  However, if you want to bootstrap a new node and want to configure it before it creates any sort of state information, it's a pain.  I would think that the common use case would be to have it install all of the init scripts and such but *not* have it start up by default.  That way an admin can configure cassandra with seed, token, host, etc. information and then start it.  That makes it easier to programmatically do this as well - have chef/puppet install cassandra, do some configuration, then do the service start.
> With the current setup, it sounds like cassandra creates state on startup that has to be cleaned before a new configuration can take effect.  So the process of installing turns into:
> * install debian package
> * shutdown cassandra
> * clean out state (data/log dirs)
> * configure cassandra
> * start cassandra
> That seems suboptimal for the default case, especially when trying to automate new nodes being bootstrapped.
> Another case might be when a downed node comes back up and starts by default and tries to claim a token that has already been claimed by another newly bootstrapped node.  Rob is more familiar with that case so I'll let him explain it in the comments.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira