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

getInternal returns EWOULD_BLOCK when no BGFetch is performed

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • Morpheus
    • 7.6.0, Morpheus, 7.0.0-Beta1, 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.0.4, 7.1.4, 7.0.5, 7.1.0, 7.1.1, 7.1.2, 7.2.0, 7.1.3, 7.2.1, 7.1.5, 7.2.4, 7.0.6, 7.1.7, 7.2.2, 7.1.6, 7.2.3, 7.2.5, 7.6.2, 7.2.6, 7.6.1, 7.6.4, 7.2.7, 7.6.5
    • couchbase-bucket
    • None
    • Untriaged
    • 0
    • Unknown

    Description

      As pointed out by Jim Walker here: https://review.couchbase.org/c/kv_engine/+/214076/comment/824f459e_648016d2/ in a full eviction bucket, if the bloom-filter predicts if the key may exist - we return ewould_block even if a QUEUE_BG_FETCH isn't requested in the get_options_t.

      Also, semantically it doesn't makes sense to check the bloomfilter if a bg-fetch isn't requested. This exactly causes the regression in MB-62776 - during a back-fill from disk, a cache lookup (without the QUEUE_BG_FETCH option) ends up checking if the key  is in the magma bloom-filter. The key was already from disk - it doesn't makes sense to check for it in the magma bloom-filter again & incur the extra overhead.

      Attachments

        Activity

          People

            hareen.kancharla Hareen Kancharla
            hareen.kancharla Hareen Kancharla
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              PagerDuty