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

DCP 'commit' consumer/producer discrepancy of 1 byte leads to DCP halt

    XMLWordPrintable

Details

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

    Description

      In 6.5 we added namespace support in KV-engine, a technique used by durability and a stepping stone towards collections.

      This means that a key in many places (disk/memory) gets a namespace prefix, all committed keys get the "default" collection prefix of a single empty byte (0) and prepared writes get a a prefix of 2. This means that when the user stores a document with a 3-byte key of "JIM", in memory it gets 4 bytes "0JIM".

      When DCP replicates that document, there is no namespace support over the wire and "0JIM" gets replicated as "JIM".

      This leads to an issue in buffer-ack when we do DCP commit.

      The producer is recording the namepaced length but the consumer is acking for the un-namespaced size - a 1 byte difference.

      Attachments

        Issue Links

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

          Activity

            People

              ashwin.govindarajulu Ashwin Govindarajulu
              jwalker Jim Walker
              Votes:
              0 Vote for this issue
              Watchers:
              15 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty