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

Adapt couchstore_savedocs API so that it can tell whether each item persisted is new or existing

    XMLWordPrintable

Details

    • Task
    • Resolution: Won't Fix
    • Major
    • 3.0
    • 3.0
    • storage-engine
    • Security Level: Public
    • None

    Description

      With the full eviction support, there are some difficulties in maintaining the total number of valid items per vbucket including dirty items + new items that are not persisted in couchstore. For the accurate counting, we need the following information every time the ep-engine does the batch commit:

      For each item within the batch commit,

      For SET, Is the item a new insertion or update in couchstore?
      For DEL, Is the item a new deletion (i.e., non-existent item deletion) or existent item deletion in couchstore?

      For this, we need to pass the following callback function to couchstore_savedocs API

      typedef int (*couchstore_savedocs_callback_fn)(Db *db,
      DocInfo *docinfo,
      bool isNew,
      void *ctx);

      If docinfo.deleted == true && isNew == true, it means the non-existent item deletion.

      Attachments

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

        Activity

          People

            aaron Aaron Miller (Inactive)
            chiyoung Chiyoung Seo (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty