Details
-
Bug
-
Resolution: Fixed
-
Major
-
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
-
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.