Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-11828

Commit log needs to track unflushed intervals rather than positions

    XMLWordPrintableJSON

Details

    • Normal

    Description

      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).

      Attachments

        Issue Links

          Activity

            People

              blambov Branimir Lambov
              blambov Branimir Lambov
              Branimir Lambov
              Sylvain Lebresne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: