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

Conflict resolution mode could be junk

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Do
    • 4.0.0, 4.1.0, 4.1.1, 4.5.0
    • 5.0.0
    • couchbase-bucket
    • Untriaged
    • Unknown

    Description

      MB-19948 identified an invalid read of 1 byte when reading metadata written by the 3.x series.

      In 4.x an extra byte is read from metadata and treated as the conflict resolution mode. There are two valid values (0 and 1) however because of the invalid read we may be creating Items in the hash-table with an arbitrary value (which could then be stored back to disk).

      The basic issue is that any item on disk could have an illegal conflict-resolution mode and we need to code around this.

      Luckily at the moment conflict resolution mode is not actually utilised, but we need to handle future upgrades for when it is utilised.

      One possible option is to have some more metadata per couch-store file which says if the conflict-res-mode has been fixed. When we open a couchstore file and find it has not been fixed, we need to ignore the current conflict resolution mode and ensure it gets correctly initialised before writing an Item back.

      Attachments

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

        Activity

          jwalker Jim Walker added a comment -

          Note that MB-19948 only addresses the invalid read issue, this MB tracks the more abstract problem which could be triggered by the invalid reads.

          jwalker Jim Walker added a comment - Note that MB-19948 only addresses the invalid read issue, this MB tracks the more abstract problem which could be triggered by the invalid reads.
          drigby Dave Rigby added a comment -

          CC John Liang Yu Sui.

          Setting fixVersion of 4.6.0 - this is believed to be the first release which will actually use conflict resolution in anger.

          drigby Dave Rigby added a comment - CC John Liang Yu Sui . Setting fixVersion of 4.6.0 - this is believed to be the first release which will actually use conflict resolution in anger.
          jwalker Jim Walker added a comment -

          Given upgrades aren't allowed, i.e. bucket must be new to enable LWW, this MB can be deferred...

          jwalker Jim Walker added a comment - Given upgrades aren't allowed, i.e. bucket must be new to enable LWW, this MB can be deferred...

          Per Jim's comment, removing 4.6 and adding Spock

          ericcooper Eric Cooper (Inactive) added a comment - Per Jim's comment, removing 4.6 and adding Spock
          drigby Dave Rigby added a comment -

          Given we don't support upgrade for LWW, dropping this to Major.

          drigby Dave Rigby added a comment - Given we don't support upgrade for LWW, dropping this to Major.
          drigby Dave Rigby added a comment -

          Jim Walker Could you please review this to determine if we need to actually to anything for Spock on this. If not we should just resolve as "Won't Do".

          drigby Dave Rigby added a comment - Jim Walker Could you please review this to determine if we need to actually to anything for Spock on this. If not we should just resolve as "Won't Do".
          jwalker Jim Walker added a comment -

          No longer needed now 4.6 lww dropped this

          jwalker Jim Walker added a comment - No longer needed now 4.6 lww dropped this

          People

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

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty