Details
-
Bug
-
Status: Resolved
-
Normal
-
Resolution: Duplicate
-
None
-
Correctness - Recoverable Corruption / Loss
-
Low
-
Normal
-
DTest
-
All
-
None
Description
The local host id is now used when replaying commit logs to prevent data loss when moving SSTables between nodes (CASSANDRA-16619).
The local host-id is assigned once on initial startup and persisted to the local.local table for use on subsequent startups - however it remains in the memtable/commitlog until the local table is eventually flushed.
If the node dies for any reason before the flush takes place, on the next restart a new host id will be allocated before the commit log is replayed and any sstables appearing in the commit log will be skipped incorrectly.
Attachments
Issue Links
- Blocked
-
CASSANDRA-18153 Memtable being flushed without hostId in version "me" and newer during CommitLogReplay
- Resolved