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

Collections: Default collection MVS wrong in a number of scenarios (post warmup)

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • Major
    • Morpheus
    • 7.1.4, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.1.3
    • couchbase-bucket
    • None
    • Untriaged
    • 0
    • Unknown

    Description

      The fix added for MB-50413 has a corner-case issue which was discovered whilst extending this area to support CDC on the default collection.

      MB-50413 adds some code to maintain what the default collection's max-visible seqno (MVS) is. The MVS is a concept added in mad-hatter to support DCP clients that don't care for sync-writes prepare/abort. The MVS always represents the vbucket's highest commit (which is visible to all DCP streams).

      In 7.0 along came collections, now the vbucket's high-seqno etc... may not be the default collection, yet we may have DCP clients which don't support collections. These clients need their own special MVS, which is what MB-50413 adds.

      This bug is the following:

      • empty vbucket
      • flush a single prepare
      • warmup and check default collection MVS (added in MB-50413)

      The MVS should be 0, but after warmup it incorrectly reports 1. This is due to broken logic in Manifest::setDefaultCollectionMaxVisibleSeqnoFromWarmup which interprets an input of 0 to have special meaning, when it needs different checks.

      This bug is required to go into 7.2 to help fix the problems around "modify of default collection". A backport of this could in theory also go back to 7.1.x

      Attachments

        For Gerrit Dashboard: MB-55451
        # Subject Branch Project Status CR V

        Activity

          People

            jwalker Jim Walker
            jwalker Jim Walker
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There is 1 open Gerrit change

                PagerDuty