cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jakub Janecek (JIRA)" <j...@apache.org>
Subject [jira] [Created] (CASSANDRA-10740) Incorrect condition causes cleanup of SSTables which might not need it
Date Thu, 19 Nov 2015 22:12:11 GMT
Jakub Janecek created CASSANDRA-10740:
-----------------------------------------

             Summary: Incorrect condition causes cleanup of SSTables which might not need
it
                 Key: CASSANDRA-10740
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10740
             Project: Cassandra
          Issue Type: Bug
            Reporter: Jakub Janecek


We needed to perform cleanup of SSTables in our production cluster but found out that it would
take several months. Together with my colleague [~JiriHorky] we have pinpointed the issue
to method CompactionManager.needsCleanup which incorrectly marks almost all SSTables as the
ones needing the cleanup even though that might not be true. I am attaching a patch which
should be applicable from version 2.x forward (this is the version we would need it in).

To explain the problem, the last condition in the cycle that checks whether the next key in
the SSTable after the current checked range is NOT contained in the next range falsely marks
SSTable as necessary to have cleanup even though it might be contained in some other range.
The correct condition (which is actully described in the comment) is to check whether the
next key in the SSTable after the current range is less than or equal to the "left" key of
the next range (assuming that the left key is exclusive which is described in another comment
of the same method).

Is our patch and reasoning correct?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Mime
View raw message