Note that this recipe may also be used to reinstall cassandra!
Upgrading Cassandra via apt-get to version 3.0.0 (from 2.x) gives the following barf:
ERROR 08:40:42 Exception encountered during startup java.lang.IllegalStateException: One row required, 2 found at org.apache.cassandra.cql3.UntypedResultSet$FromResultSet.one(UntypedResultSet.java:84) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.schema.LegacySchemaMigrator.readTableTimestamp(LegacySchemaMigrator.java:230) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.schema.LegacySchemaMigrator.readTable(LegacySchemaMigrator.java:220) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readTables$225(LegacySchemaMigrator.java:214) ~[apache-cassandra-3.0.0.jar:3.0.0] at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_66] at org.apache.cassandra.schema.LegacySchemaMigrator.readTables(LegacySchemaMigrator.java:214) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.schema.LegacySchemaMigrator.readKeyspace(LegacySchemaMigrator.java:163) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.schema.LegacySchemaMigrator.lambda$readSchema$222(LegacySchemaMigrator.java:154) ~[apache-cassandra-3.0.0.jar:3.0.0] at java.util.ArrayList.forEach(ArrayList.java:1249) ~[na:1.8.0_66] at org.apache.cassandra.schema.LegacySchemaMigrator.readSchema(LegacySchemaMigrator.java:154) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.schema.LegacySchemaMigrator.migrate(LegacySchemaMigrator.java:77) ~[apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:223) [apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:561) [apache-cassandra-3.0.0.jar:3.0.0] at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:689) [apache-cassandra-3.0.0.jar:3.0.0]
I was joking earlier with one of my students that he doesn't know how to use Google (he had some silly error when running Cassandra). Turns out the joke's on me because I could not find this anywhere on the www. Here is what I ended up doing (this works, hopefully):
sudo apt-get purge cassandra - note that this also removes configuration files.sudo rm -Rf /var/lib/cassandra and sudo rm -Rf /var/log/cassandra will restore the order of things in the universesudo apt-get purge cassandrasudo pip uninstall cassandra-driver and sudo pip install cassandra-driver should fix this. Note that the installation part is somewhat slow (but it's not hanged).Cassandra (currently 3.0.0) should automatically start (and run) on port 7000 (default).