KB Article #181539
Cassandra doesn't start with "org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException: Could not read commit log descriptor in file"
Problem
Cassandra doesn't start with this error in logs:
==> logs/debug.log <==
ERROR [main] 2021-03-31 09:44:10,458 JVMStabilityInspector.java:99 - Exiting due to error while processing commit log during initialization.
org.apache.cassandra.db.commitlog.CommitLogReplayer$CommitLogReplayException: Could not read commit log descriptor in file ./../data/commitlog/CommitLog-5-1612345022391.log
at org.apache.cassandra.db.commitlog.CommitLogReplayer.handleReplayError(CommitLogReplayer.java:638) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:311) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.db.commitlog.CommitLogReplayer.recover(CommitLogReplayer.java:143) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:181) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.db.commitlog.CommitLog.recover(CommitLog.java:161) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:284) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:533) [apache-cassandra-2.2.12.jar:2.2.12]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:642) [apache-cassandra-2.2.12.jar:2.2.12]
Resolution
The commit logs are binary logs used for keeping the track of the data and structure changes within the cassandra cluster.
Having a commit.log not accessible/readable prevents cassandra from starting.
The solution is:
- move (not copy) that commit log 'data/commitlog/CommitLog-5-1612345022391.log' out from the cassandra folder hierarchy;
- start cassandra
- verify it started correctly with ''/cassandra/bin/nodetool status'
- stop and restart again cassandra; if it is a cluster, do that operations for each node
- once (whole) cassandra is up and running, run "cassandra/bin/nodetool repair" as is specified here, one node at a time, full repair:
https://docs.axway.com/bundle/axway-open-docs/page...
- verify our cassandra client (API Manager) for its all functionalities.