cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Robert Stupp (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CASSANDRA-11537) Give clear error when certain nodetool commands are issued before server is ready
Date Fri, 22 Apr 2016 12:45:13 GMT

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

Robert Stupp commented on CASSANDRA-11537:
------------------------------------------

I think the better indicator if C* startup has completed, is {{o.a.c.service.CassandraDaemon#setupCompleted}}.

I'd rather not like to see a new, custom exception being thrown and serialized to nodetool
or another management tool. Just stick with the Java ones, probably IllegalStateException.
Java serialization issues could otherwise hide the real cause (so, instead of NotInitializedException
you'd maybe get a strange ClassNotFoundExcepion).

You could also expose {{o.a.c.service.StorageService#isSetupCompleted}} via JMX, which would
be a nice LHF IMO. This would also allow tools to check this status _before_ these actually
try to execute a command.

> Give clear error when certain nodetool commands are issued before server is ready
> ---------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-11537
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11537
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Edward Capriolo
>            Assignee: Edward Capriolo
>            Priority: Minor
>              Labels: lhf
>
> As an ops person upgrading and servicing Cassandra servers, I require a more clear message
when I issue a nodetool command that the server is not ready for it so that I am not confused.
> Technical description:
> If you deploy a new binary, restart, and issue nodetool scrub/compact/updatess etc you
get unfriendly assertion. An exception would be easier to understand. Also if a user has turned
assertions off it is unclear what might happen. 
> {noformat}
> EC1: Throw exception to make it clear server is still in start up process. 
> :~# nodetool upgradesstables
> error: null
> -- StackTrace --
> java.lang.AssertionError
>     at org.apache.cassandra.db.Keyspace.open(Keyspace.java:97)
>     at org.apache.cassandra.service.StorageService.getValidKeyspace(StorageService.java:2573)
>     at org.apache.cassandra.service.StorageService.getValidColumnFamilies(StorageService.java:2661)
>     at org.apache.cassandra.service.StorageService.upgradeSSTables(StorageService.java:2421)
> {noformat}
> EC1: 
> Patch against 2.1 (branch)
> https://github.com/apache/cassandra/compare/trunk...edwardcapriolo:exception-on-startup?expand=1



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message