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

[Tool] Incremental full eviction of key, its meta data, and its value

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Blocker
    • 3.0
    • 3.0
    • tools
    • Security Level: Public
    • None
    • 13
    • CB Bucket - 08/12 - 08/29, PCI Team - Sprint 15, PCI Team - Sprint 16

    Description

      Memory overhead (64 bytes) of an item's metadata will be significant in case of a very large number of small-sized items. Moving per key metadata out of cache allows us to evict both an item's metadata and its value together and can reduce the memory overhead significantly because we don't need to maintain the metadata in memory for non-resident items.

      "Incremental" means that we first evict an item's value in the first eviction phase and then its key and meta data in the second phase if the memory usage is still high.

      However, there are several issues that we should address in implementing this feature. For example,

      1) Cleaning up expired items from disk can be done as part of database compaction or disk fetches for non-resident items.

      2) Currently, if a resident ratio of a given vbucket is above 90%, we don't scan the vbucket database file for TAP backfill, but instead fetches those non-resident items individually from disk. Consequently, if we don't maintain non-resident items in cache, it will always require scanning the vbucket database file even if the resident ratio is very high (e.g., 99%).

      Attachments

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

        Activity

          People

            maria Maria McDuff (Inactive)
            anil Anil Kumar (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