Carl Yeksigian created CASSANDRA-12397:
------------------------------------------
Summary: Altering a column's type breaks commitlog replay
Key: CASSANDRA-12397
URL: https://issues.apache.org/jira/browse/CASSANDRA-12397
Project: Cassandra
Issue Type: Bug
Reporter: Carl Yeksigian
When switching from a fixed-length column to a variable-length column,
replaying the commitlog on restart will have the same issue as CASSANDRA-11820.
Seems like it is related to the schema being flushed and used when restarted,
but commitlogs having been written in the old format.
{noformat}
org.apache.cassandra.db.commitlog.CommitLogReadHandler$CommitLogReadException:
Unexpected error deserializing mutation; saved to
/tmp/mutation4816372620457789996dat. This may be caused by replaying a
mutation against a table with the same name but incompatible schema. Exception
follows: java.io.IOError: java.io.EOFException: EOF after 259 bytes out of 3336
at
org.apache.cassandra.db.commitlog.CommitLogReader.readMutation(CommitLogReader.java:409)
[main/:na]
at
org.apache.cassandra.db.commitlog.CommitLogReader.readSection(CommitLogReader.java:342)
[main/:na]
at
org.apache.cassandra.db.commitlog.CommitLogReader.readCommitLogSegment(CommitLogReader.java:201)
[main/:na]
at
org.apache.cassandra.db.commitlog.CommitLogReader.readAllFiles(CommitLogReader.java:84)
[main/:na]
at
org.apache.cassandra.db.commitlog.CommitLogReplayer.replayFiles(CommitLogReplayer.java:139)
[main/:na]
at
org.apache.cassandra.db.commitlog.CommitLog.recoverFiles(CommitLog.java:177)
[main/:na]
at
org.apache.cassandra.db.commitlog.CommitLog.recoverSegmentsOnDisk(CommitLog.java:158)
[main/:na]
at
org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:316)
[main/:na]
at
org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:591)
[main/:na]
at
org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:720)
[main/:na]
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)