You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Marcus Eriksson (JIRA)" <ji...@apache.org> on 2015/05/29 08:09:17 UTC

[jira] [Created] (CASSANDRA-9508) Avoid early opening of compaction results when doing anticompaction

Marcus Eriksson created CASSANDRA-9508:
------------------------------------------

             Summary: Avoid early opening of compaction results when doing anticompaction
                 Key: CASSANDRA-9508
                 URL: https://issues.apache.org/jira/browse/CASSANDRA-9508
             Project: Cassandra
          Issue Type: Bug
            Reporter: Marcus Eriksson
            Assignee: Marcus Eriksson
            Priority: Critical
             Fix For: 3.x, 2.1.x, 2.2.0 rc1


When doing anticompaction we have 2 sstable rewriters open and write the repaired range to one writer and the unrepaired to one. This can cause some keys to become unreadable during anticompaction, example:

Say we are anticompacting one 150MB sstable into two new ones, 75MB each, first we start writing to the first one, after 50MB, we open the result early and move the start point up to the 50MB mark in the original file. Then, after 75MB written, we start writing to the next file and after writing 50MB to that file, we open that file early and move the start point up to 125MB in the original file. This makes 25MB unreadable that is only present in the first file written, but we have moved the start point beyond that part of the file in the original

Simple solution is probably to avoid doing early opening during anticompaction, and since anticompaction is not as frequent as ordinary compactions, the performance implications would not be too big



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