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

Corrupt max_cas value in vbucket breaks HLC semantics

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 4.1.1, 4.5.0
    • 4.0.0, 4.1.0
    • couchbase-bucket
    • Security Level: Public
    • None
    • Untriaged
    • Unknown

    Description

      max_cas value is maintained in the vBucket to track the mutation with the maximum CAS value that currently exists. This is done to ensure that every CAS value that is generated in the vbucket is monotonically increasing irrespective of the wall clock skew. But a corrupt mutation from, say a DCP stream could set the max_cas to an invalid value -1 (18446744073709551615 because it is an unsigned 64-bit integer). When a new mutation comes into that vbucket, the CAS becomes 0 (which should be the case for only temporary items). Any other operation performed on the item can cause undefined behaviour

      Attachments

        Issue Links

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

          Activity

            People

              ericcooper Eric Cooper (Inactive)
              sriram Sriram Ganesan (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty