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

Cleanup reading of vBucket stats when couchstore file does not exist

    XMLWordPrintable

Details

    • Task
    • Resolution: Fixed
    • Major
    • 4.5.1
    • 4.5.0
    • couchbase-bucket
    • None
    • KV: June 12 - July 2

    Description

      Background

      There have been a number of related MBs (MB-16657, MB-18679, MB-19567, MB-19695) which all resolve around CouchKVStore::getNumPersistedDeletes throwing an exception when a vbucket file doesn't exist on disk.

      In each case we've tried to solve the issue, generally by trying not to call getNumPersistedDeletes() when we think a file doesn't exist. However in each case we've hit the issue again (generally with the test passing once or twice, and then failing again).

      Note that prior to watson such an error would be relatively silent - we'd just log a message and return zero. All these issues started happening when we improved our error handling to make "failed to open file errors" explicit, by raising an exception.

      At this stage it seems clear that the possible states / times when vBucket files do not exist are not well understood, and we must still be missing some understanding of when it is possible for couchstore files to not exist.

      Having all these different (partial / failed) patches to try to address the issue makes the code more confusing to read, and only makes it harder to track down what the underlying root problem is.

      For Watson plan to just catch the thrown exception, and return '0' for the delete count (as per Sherlock) - see MB-19695.

      Task

      1. Identify all patches relating to this issue (see MB list above, may not be exhaustive).
      2. Revert each patch in question, unless it actually fixes a real problem. In other words - we should just end up with Sherlock code + catches and return of zero if the getNumPersistedDeletes fails.

      Attachments

        Issue Links

          Activity

            People

              drigby Dave Rigby (Inactive)
              drigby Dave Rigby (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty