summaryrefslogtreecommitdiff
path: root/jstests/core/plan_cache_sbe.js
diff options
context:
space:
mode:
authorAnton Korshunov <anton.korshunov@mongodb.com>2021-04-14 09:42:35 +0100
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-04-14 12:34:28 +0000
commitf139eba3033003952a559a74a020141a2c7abdc7 (patch)
treec2365f408e48a91e509e236978315055d703403f /jstests/core/plan_cache_sbe.js
parent7205ba6183315d698ce8856e2e2b95f4944c4c02 (diff)
downloadmongo-f139eba3033003952a559a74a020141a2c7abdc7.tar.gz
SERVER-56088 Enable "compatibility" passthrough in core suite against the SBE build variant
Diffstat (limited to 'jstests/core/plan_cache_sbe.js')
-rw-r--r--jstests/core/plan_cache_sbe.js9
1 files changed, 6 insertions, 3 deletions
diff --git a/jstests/core/plan_cache_sbe.js b/jstests/core/plan_cache_sbe.js
index 89cc680a64f..5c98603c6ec 100644
--- a/jstests/core/plan_cache_sbe.js
+++ b/jstests/core/plan_cache_sbe.js
@@ -26,7 +26,10 @@ const isSBEEnabled = (() => {
const getParam = db.adminCommand({getParameter: 1, featureFlagSBE: 1});
return getParam.hasOwnProperty("featureFlagSBE") && getParam.featureFlagSBE.value;
})();
-
+const isLegacyMode = db.getMongo().readMode() === "legacy";
+// For legacy reads we always use the classic engine, even when SBE is turned on as a default
+// engine.
+const isSBECompat = isSBEEnabled && !isLegacyMode;
assert.commandWorked(coll.insert({a: 1, b: 1}));
// We need two indexes so that the multi-planner is executed.
@@ -41,6 +44,6 @@ const allStats = coll.aggregate([{$planCacheStats: {}}]).toArray();
assert.eq(allStats.length, 1, allStats);
const stats = allStats[0];
assert(stats.hasOwnProperty("cachedPlan"), stats);
-assert.eq(stats.cachedPlan.hasOwnProperty("queryPlan"), isSBEEnabled, stats);
-assert.eq(stats.cachedPlan.hasOwnProperty("slotBasedPlan"), isSBEEnabled, stats);
+assert.eq(stats.cachedPlan.hasOwnProperty("queryPlan"), isSBECompat, stats);
+assert.eq(stats.cachedPlan.hasOwnProperty("slotBasedPlan"), isSBECompat, stats);
})();