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

Add support for KVStore revisions

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Major
    • Morpheus
    • None
    • storage-engine

    Description

      Magma does a soft delete for kvstores. That means after a DeleteKVStore, we need to bump up the revision if we want to reuse the same KvID for storing a new Index in the magma instance. Shard wise this gives the ability to acomodate a new instance in the same shard if an instance is dropped.

      Background:

      DeleteKVStore only does a soft delete of the kvstore. it only renames a config file internally from "config.json" to "config.json.deleted" and returns successfully.the actual deletion of files can happen at a much later point of time. the reason could be due to any concurrent readers into the kvstore, who are holding a shared_ptr to the KVStore. until and unless the last shared_ptr dies, the files won't be deleted from disk. this is why we have revisions. so that even if we have concurrent readers into an older kvstore revision, we permit creation of a new revision and allow writes/reads to go into that new revision.

      Attachments

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

        Activity

          People

            saptarshi.sen Saptarshi Sen
            saptarshi.sen Saptarshi Sen
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty