[ 
https://issues.apache.org/jira/browse/CASSANDRA-21443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Blake Eggleston updated CASSANDRA-21443:
----------------------------------------
     Bug Category: Parent values: Correctness(12982)Level 1 values: Recoverable 
Corruption / Loss(12986)
       Complexity: Normal
      Component/s: Consistency/Coordination
    Discovered By: DTest
        Reviewers: Francisco Guerrero
         Severity: Normal
           Status: Open  (was: Triage Needed)

> CEP-45: Lost witness marker race
> --------------------------------
>
>                 Key: CASSANDRA-21443
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-21443
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Consistency/Coordination
>            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