Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Fixed
-
Operability
-
Low Hanging Fruit
-
Description
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.
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)
EC1:
Patch against 2.1 (branch)
https://github.com/apache/cassandra/compare/trunk...edwardcapriolo:exception-on-startup?expand=1