[
https://issues.apache.org/jira/browse/CASSANDRA-21443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Blake Eggleston reassigned CASSANDRA-21443:
-------------------------------------------
Assignee: Blake Eggleston
> CEP-45: Lost witness marker race
> --------------------------------
>
> Key: CASSANDRA-21443
> URL: https://issues.apache.org/jira/browse/CASSANDRA-21443
> Project: Apache Cassandra
> Issue Type: Bug
> Reporter: Blake Eggleston
> Assignee: Blake Eggleston
> Priority: Normal
>
> We periodically persist offsets we’ve witnessed to a system table (currently
> every 1s, with a todo to increase to period to 60s)
> On startup, we load these offsets from disk, and then play back the mutation
> journal for mutations that weren’t flushed to sstables, and record those
> mutations as witnessed in memory. However, if a memtable containing mutations
> not yet durably recorded as witnessed is flushed to an sstable and then the
> node is shutdown before recording them, they won’t be replayed on startup and
> the node will forget that it has seen them, and not include them in mutation
> summaries (but still returning data for them in reads). This will cause
> non-monotonic read results and will break the journal sync barrier guarantees.
> We should include some additional metadata with the persisted witness data
> indicating the most recent full journal segment it has seen, and then read
> anything afterwards when replaying the journal, skipping the write path for
> anything already flushed to an sstable.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]