[
https://issues.apache.org/jira/browse/CASSANDRA-18756?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17754645#comment-17754645
]
Branimir Lambov commented on CASSANDRA-18756:
---------------------------------------------
Well, things are a bit more complex. Because the iterator is indeed created,
the {{ignoreOverlaps}} flag does not have the intended effect of not taking
into account older sstables that may have data shadowed by a tombstone. This
behaviour is helping make the option much safer than it would otherwise be, and
cannot be changed without risking unexpected data resurrection.
Because of this a fix for this issue should remove the overlap iterator part of
the intended meaning of {{unsafe_aggressive_sstable_expiration}} rather than
make it work correctly.
> TimeWindowCompactionStrategy with unsafe_aggressive_sstable_expiration keeps
> overlaping SSTable references
> ----------------------------------------------------------------------------------------------------------
>
> Key: CASSANDRA-18756
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18756
> Project: Cassandra
> Issue Type: Bug
> Components: Local/Compaction
> Reporter: Branimir Lambov
> Priority: Normal
>
> When {{unsafe_aggressive_sstable_expiration}} is turned on, TWCS should not
> create or maintain an iterator of overlapping sstables. However, because
> {{TimeWindowCompactionController}} inherits from {{CompactionController}} and
> only sets {{ignoreOverlaps}} after the base class has constructed the overlap
> iterator, it ends up making an overlap iterator and then never updating it.
> The end result is that such a compaction keeps references to lots of and
> likely _all_ other SSTables on the node and thus delays the deletion of
> obsolete ones by hours or even days.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]