cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sylvain Lebresne (JIRA)" <>
Subject [jira] [Updated] (CASSANDRA-11828) Commit log needs to track unflushed intervals rather than positions
Date Fri, 05 Aug 2016 13:50:20 GMT


Sylvain Lebresne updated CASSANDRA-11828:
       Resolution: Fixed
    Fix Version/s:     (was: 3.0.x)
                       (was: 2.2.x)
                       (was: 3.x)
           Status: Resolved  (was: Patch Available)

Committed (including to 2.1 since this can result in data loss, which feels critical enough).

> Commit log needs to track unflushed intervals rather than positions
> -------------------------------------------------------------------
>                 Key: CASSANDRA-11828
>                 URL:
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Local Write-Read Paths
>            Reporter: Branimir Lambov
>            Assignee: Branimir Lambov
>             Fix For: 2.1.16, 2.2.8, 3.0.9, 3.9
> 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

View raw message