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.