Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-48033

Store commits on disk as mutations

    XMLWordPrintable

Details

    • Triaged
    • 1
    • No
    • KV-Engine Sprint 2021 August

    Description

      Explored this idea here https://issues.couchbase.com/browse/MB-47991?focusedCommentId=535990&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-535990. Storing items as commit sync writes on disk is essentially a waste of space (uses couchstore V3 metadata which adds 7 bytes) as we can never assume that a mutation was not a commit when read from disk (could have been received via DCP which sends mutations rather than commits).

      Want to target this for Neo as we can freely change the magma metadata now and save some space. If we make the durability parts of the magma metadata optional (MB-48034) then a commit will be able to save 6 bytes (+ 2 bits of an existing field) by not storing the prepare seqno. For couchstore we could simply store the metadata as V1 instead of V3. We should change both (rather than just magma) as it makes it easier to reason about the KVStore implementation and SyncWrites.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              ben.huddleston Ben Huddleston
              ben.huddleston Ben Huddleston
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty