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

Alex Petrov updated CASSANDRA-20919:
------------------------------------
    Description: 
This patch introduces SegmentStateTracker, which tracks Mutation Journal 
allocations and listens to Memtable->SSTable flushes.

SegmentStateTracker logic is largely adapted from CommitLog (i.e. tracking 
dirty allocation upper bound, and clean/flushed min/max bounds, and checking 
their intersection to see if entire segment is flushed.

MutationJournal now tracks new allocations per segment (and, within a segment, 
per table), and listens to Memtable flushes, marking CommitLogPosition bounds 
reported by the flush as clean.

MutationJournal#replay is added, and serves a purpose similar to CommitLog 
replay, albeit lacks some of its functionality, such as replay filter, for now 
(missing pieces documented inline). Only segments holding allocations that were 
not memtable->sstable flushed are considered for replay.

> Mutation Tracking: Journal Replay 
> ----------------------------------
>
>                 Key: CASSANDRA-20919
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-20919
>             Project: Apache Cassandra
>          Issue Type: Bug
>          Components: Consistency/Coordination
>            Reporter: Alex Petrov
>            Assignee: Alex Petrov
>            Priority: Normal
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> This patch introduces SegmentStateTracker, which tracks Mutation Journal 
> allocations and listens to Memtable->SSTable flushes.
> SegmentStateTracker logic is largely adapted from CommitLog (i.e. tracking 
> dirty allocation upper bound, and clean/flushed min/max bounds, and checking 
> their intersection to see if entire segment is flushed.
> MutationJournal now tracks new allocations per segment (and, within a 
> segment, per table), and listens to Memtable flushes, marking 
> CommitLogPosition bounds reported by the flush as clean.
> MutationJournal#replay is added, and serves a purpose similar to CommitLog 
> replay, albeit lacks some of its functionality, such as replay filter, for 
> now (missing pieces documented inline). Only segments holding allocations 
> that were not memtable->sstable flushed are considered for replay.



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