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

Compressed Commit Log

Agile BoardAttach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskConvert to sub-taskMoveLinkCloneLabelsUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Impacts:
      Docs

      Description

      It seems an unnecessary oversight that we don't compress the commit log. Doing so should improve throughput, but some care will need to be taken to ensure we use as much of a segment as possible. I propose decoupling the writing of the records from the segments. Basically write into a (queue of) DirectByteBuffer, and have the sync thread compress, say, ~64K chunks every X MB written to the CL (where X is ordinarily CLS size), and then pack as many of the compressed chunks into a CLS as possible.

        Attachments

        1. ComitLogStress.java
          6 kB
          Ariel Weisberg
        2. logtest.txt
          10 kB
          Branimir Lambov

        Issue Links

          Activity

            People

            • Assignee:
              blambov Branimir Lambov Assign to me
              Reporter:
              benedict Benedict Elliott Smith
              Authors:
              Branimir Lambov
              Reviewers:
              Ariel Weisberg
              Tester:
              Alan Boudreault

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment