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

Commit log needs to track unflushed intervals rather than positions

Agile BoardAttach filesAttach ScreenshotBulk Copy AttachmentsBulk Move AttachmentsVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment