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

Investigate not updating range lock begin seqno for each item

    XMLWordPrintable

Details

    Description

      The begin seqno of a range lock (over a range of seqnos in the seqList) is currently updated every time an item is read. This is to minimize the amount of stale items created over the lifetime of the range lock - if an item is covered by a range lock, it cannot be updated by a front end op, it must be marked stale and a new stored value appended (because the old one is still needed for the reader holding the range lock). Once the begin seqno has passed the seqno of a particular stored value, front end ops can freely update the item. Stale items consume memory and are removed periodically once they are no longer covered by a range lock.

      Updating the begin seqno requires a lock to be held. It may aid performance to only update the seqno every n items, e.g., every 100th read item.

      Attachments

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

        Activity

          People

            owend Daniel Owen
            james.harrison James Harrison (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty