Marcus Eriksson created CASSANDRA-13294:
-------------------------------------------
Summary: Possible data loss on upgrade 2.1 - 3.0
Key: CASSANDRA-13294
URL: https://issues.apache.org/jira/browse/CASSANDRA-13294
Project: Cassandra
Issue Type: Bug
Reporter: Marcus Eriksson
Assignee: Marcus Eriksson
Priority: Blocker
Fix For: 3.0.x
After finishing a compaction we delete the compacted away files. This is done
[here|https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/db/lifecycle/LogFile.java#L328-L337]
which uses
[this|https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/db/lifecycle/LogRecord.java#L265-L271]
to get the files - we get all files starting with {{absoluteFilePath}}.
Absolute file path is generated
[here|https://github.com/apache/cassandra/blob/cassandra-3.0/src/java/org/apache/cassandra/io/sstable/Descriptor.java#L142-L153].
For 3.0 version files the filename looks like this:
{{/blabla/keyspace1/standard1-bdb031c0ff7b11e6940fdd0479dd8912/mc-1332-big}}
but for 2.1 version files, they look like this:
{{/blabla/keyspace1/standard1-bdb031c0ff7b11e6940fdd0479dd8912/keyspace1-standard1-ka-2}}.
The problem is then that if we were to finish a compaction including the legacy
file, we would actually delete all legacy files having a generation starting
with '2'
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)