[ 
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]

Reply via email to