[ 
https://issues.apache.org/jira/browse/CASSANDRA-11828?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15407579#comment-15407579
 ] 

Branimir Lambov commented on CASSANDRA-11828:
---------------------------------------------

Squashed, rebased and added {{CHANGES.txt}} entry.

Pre-3.0 code (disable passing control to post-flush):
|[2.1|https://github.com/blambov/cassandra/tree/11828-no-post-flush-2.1]|[utest|http://cassci.datastax.com/job/blambov-11828-no-post-flush-2.1-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11828-no-post-flush-2.1-dtest/]|
|[2.2|https://github.com/blambov/cassandra/tree/11828-no-post-flush-2.2]|[utest|http://cassci.datastax.com/job/blambov-11828-no-post-flush-2.2-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11828-no-post-flush-2.2-dtest/]|

3.0 and later (track unflushed intervals in commitlog and sstables):
|[3.0|https://github.com/blambov/cassandra/tree/11828-rebased-3.0]|[utest|http://cassci.datastax.com/job/blambov-11828-rebased-3.0-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11828-rebased-3.0-dtest/]|
|[3.9|https://github.com/blambov/cassandra/tree/11828-rebased-3.9]|[utest|http://cassci.datastax.com/job/blambov-11828-rebased-3.9-testall/]|[dtest|http://cassci.datastax.com/job/blambov-11828-rebased-3.9-dtest/]|

> Commit log needs to track unflushed intervals rather than positions
> -------------------------------------------------------------------
>
>                 Key: CASSANDRA-11828
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11828
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths
>            Reporter: Branimir Lambov
>            Assignee: Branimir Lambov
>             Fix For: 2.2.x, 3.0.x, 3.x
>
>
> In CASSANDRA-11448 in an effort to give a more thorough handling of flush 
> errors I have introduced a possible correctness bug with disk failure policy 
> ignore if a flush fails with an error:
> - we report the error but continue
> - we correctly do not update the commit log with the flush position
> - but we allow the post-flush executor to resume
> - a successful later flush can thus move the log's clear position beyond the 
> data from the failed flush
> - the log will then delete segment(s) that contain unflushed data.
> After CASSANDRA-9669 it is relatively easy to fix this problem by making the 
> commit log track sets of intervals of unflushed data (as described in 
> CASSANDRA-8496).



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

Reply via email to