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