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

Warmup: State::LoadingKVPairs keeps scanning when NMVB occurs

Details

    • Bug
    • Resolution: Unresolved
    • Minor
    • Morpheus
    • None
    • couchbase-bucket
    • None
    • Untriaged
    • 0
    • Unknown

    Description

      The per-item KVStore callback doesn't setStatus for the !vb case, this means that if the vbucket is removed the scan will keep pointlessly reading the data from disk - prolonging warmup.

      void LoadValueCallback::callback(CacheLookup& lookup) {
          // If not value-eviction (LoadingData), then skip attempting to check for
          // value already resident, given we assume nothing has been loaded for this
          // document yet.
          if (warmupState != WarmupState::State::LoadingData) {
              setStatus(cb::engine_errc::success);
              return;
          }
       
          // Prepared SyncWrites are ignored in the normal LoadValueCallback -
          // they are handled in an earlier warmup phase so return
          // cb::engine_errc::key_already_exists to indicate this key should be
          // skipped.
          if (lookup.getKey().isPrepared()) {
              setStatus(cb::engine_errc::key_already_exists);
              return;
          }
       
          VBucketPtr vb = vbuckets.getBucket(lookup.getVBucketId());
          if (!vb) {
      >>>> MISSING 
              return;
          }
      

      Attachments

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

        Activity

          People

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

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty