Marcus Eriksson commented on CASSANDRA-14103:

(sorry for the delay on this)

LGTM, just a few minor comments;
* Could we make {{CompactionStrategyManager}} take the initial sstables as a 
parameter to the constructor instead of calling 
{{cfs.getSSTables(...CANONICAL..)}} there? Feels it makes it more clear that 
the tracker has to be populated before we can create the CSM
* Make {{maybeReloadDiskBoundaries}} return {{void}}, the only user of the 
return value is the test case and that could probably be refactored to check 
that the boundaries changed instead?

> Fix potential race during compaction strategy reload
> ----------------------------------------------------
>                 Key: CASSANDRA-14103
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-14103
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Paulo Motta
>            Assignee: Paulo Motta
>            Priority: Minor
>         Attachments: 3.11-14103-dtest.png, 3.11-14103-testall.png, 
> trunk-14103-dtest.png, trunk-14103-testall.png
> When the compaction strategies are reloaded after disk boundary changes 
> (CASSANDRA-13948), it's possible that a recently finished SSTable is added 
> twice to the compaction strategy: once when the compaction strategies are 
> reloaded due to the disk boundary change ({{maybeReloadDiskBoundarie}}), and 
> another when the {{CompactionStrategyManager}} is processing the 
> {{SSTableAddedNotification}}.
> This should be quite unlikely because a compaction must finish as soon as the 
> disk boundary changes, and even if it happens most compaction strategies 
> would not be affected by it since they deduplicate sstables internally, but 
> we should protect against such scenario. 
> For more context see [this 
> comment|https://issues.apache.org/jira/browse/CASSANDRA-13948?focusedCommentId=16280448&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16280448]
>  from Marcus.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to