What does the error look like?
ERROR [StorageServiceShutdownHook] 2020-10-09 15:00:59,732 StorageService.java:4572 - Attempting to continue draining after pre-shutdown hooks returned exception
What is preShutdownHookThowable?
preShutdownHookThrowable is a wrapper exception for any pre-shutdown hooks that throw an exception of their own. OSS Cassandra doesn’t have any pre-shutdown hooks so it never throws.
Why does this error occur?
DSE will throw this error after a JVM crash:
ERROR [main] 2020-10-09 16:47:20,586 JVMStabilityInspector.java:82 - Exiting due to error while processing commit log during initialization. org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException: Mutation checksum failure at 32411188 in Next section at 4606099 CommitLog-6-1541629885843.log at org.apache.cassandra.db.commitlog.CommitLogReader.readSection(CommitLogReader.java:345) [cassandra-all-3.11.0.1855.jar:3.11.0.1855] ....... ERROR [StorageServiceShutdownHook] 2020-10-09 16:47:20,638 StorageService.java:4572 - Attempting to continue draining after pre-shutdown hooks returned exception java.lang.AssertionError: null
Other errors can be thrown, like this Gossip failure during startup shown below:
ERROR [main] 2020-10-09 03:11:00,863 CassandraDaemon.java:705 - Exception encountered during startup java.lang.RuntimeException: Unable to gossip with any seeds at org.apache.cassandra.gms.Gossiper.doShadowRound(Gossiper.java:1424) ......... ERROR [StorageServiceShutdownHook] 2020-10-09 03:11:00,925 StorageService.java:4572 - Attempting to continue draining after pre-shutdown hooks returned exception java.lang.AssertionError: null
How do you fix this error?
The JVM crash due to corrupted commit logs can be fixed by removing the culprit commit logs, followed by a node restart.
The Gossip failure is often due to closed ports, so please check the ports mentioned in the following page: https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/configuration/secureFireWall.html