cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paulo Motta (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (CASSANDRA-14103) Fix potential race during compaction strategy reload
Date Wed, 03 Jan 2018 14:39:01 GMT

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

Paulo Motta updated CASSANDRA-14103:
------------------------------------
    Status: Patch Available  (was: Open)

The patch below implements the solution described above of keeping an SSTable set in the {{CompactionStrategyManager}}
which is updated when receiving notifications from the tracker, what should prevent double
adding of sstables if the strategies are reloaded by some other thread when processing a notification
from the tracker. I also added a test to check that the sstables are properly added to the
compaction strategies when receiving tracker notifications.

On the trunk patch I also fixed a bad merge from CASSANDRA-14082 ([here|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-14103#diff-1d4755900f9e76a3cf93810d98189951L706]).

CI looks good:

||3.11||trunk||
|[branch|https://github.com/apache/cassandra/compare/cassandra-3.11...pauloricardomg:3.11-14103]|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-14103]|
|[testall|https://issues.apache.org/jira/secure/attachment/12904399/3.11-14103-testall.png]|[testall|https://issues.apache.org/jira/secure/attachment/12904400/trunk-14103-dtest.png]|
|[dtest|https://issues.apache.org/jira/secure/attachment/12904398/3.11-14103-dtest.png]|[dtest|https://issues.apache.org/jira/secure/attachment/12904401/trunk-14103-testall.png]|

> 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
(v6.4.14#64029)

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


Mime
View raw message