[ 
https://issues.apache.org/jira/browse/CASSANDRA-7597?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Stupp updated CASSANDRA-7597:
------------------------------------

    Attachment:     (was: 7597.txt)

> Remove static initializer in DatabaseDescriptor
> -----------------------------------------------
>
>                 Key: CASSANDRA-7597
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-7597
>             Project: Cassandra
>          Issue Type: Improvement
>         Environment: Cassandra 2.0.9 (earlier version should be affected as 
> well)
>            Reporter: Pavel Sakun
>            Assignee: Robert Stupp
>
> As discussed below, it's difficult to properly react on invalid configuration 
> values in a client tool that uses cassandra code (here: an sstable loader).
> Reason is that the static initializer in DatabaseDescriptor calls System.exit 
> in case of configuration failures.
> Recommend to implement some "loadAndApplyConfig" method on DatabaseDescriptor 
> and remove the static initializer and let the calling code react accordingly 
> (print error, exit VM).
> All direct and indirect uses of DatabaseDescriptor must be catched to solve 
> this ticket - so this is not a 2.1 ticket.
> --------------------------
> Old Description:
> We're using SSTableSimpleUnsortedWriter API to generate SSTable to be loaded 
> into cassandra. In case of any issue with config DatabaseDescriptor calls 
> System.exit() which is apparently not the thing you expect while using API.
> Test case is simple:
> System.setProperty( "cassandra.config", "" );
> new YamlConfigurationLoader().loadConfig();
> Thread.sleep( 5000 );
> System.out.println("We're still alive"); // this will never be called



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to