There are some places we are unlikely to drop using System.exit(), such as when we detect a dangerous application state (e.g. OOM)
However in config (e.g. DatabaseDescriptor) it's just because we haven't considered it worth our time to do anything more involved. Feel free to file a ticket and post a patch. On Fri, Sep 19, 2014 at 9:39 AM, Heiko Braun <ike.br...@googlemail.com> wrote: > > Hi everybody, > > I've been trying run Cassandra as a managed service from another java > process and stumbled across the use of System.exit() calls in some of the > core services (i.e DatabaseDescriptor, StorageService, SSTableReader). > > This makes the use as an embedded service very difficult and I can imagine > that it easily creates other issues as well (i.e. freeing allocated > resources). > > Can somebody explain the rational behind using System.exit() calls opposed > to the use of regular exceptions and handling the process shutdown in a > well defined place (i.e the CassandraDaemon) ? > > Regards, Heiko