SERVER-100326 CBR with heuristicCE jscore passthrough (#32023)
GitOrigin-RevId: 29d1ac65290ba78a963efd21a53e5ed520d1e2c0
This commit is contained in:
parent
c3b7d3b6bb
commit
a37a628c64
@ -0,0 +1,63 @@
|
||||
# This is equivalent to the core suite, but runs with CBR with heursitic CE enabled.
|
||||
|
||||
test_kind: js_test
|
||||
selector:
|
||||
roots:
|
||||
- jstests/core/**/*.js
|
||||
- jstests/core_standalone/**/*.js
|
||||
exclude_files:
|
||||
# Transactions are not supported on MongoDB standalone nodes, so we do not run these tests in the
|
||||
# 'core' suite. Instead we run them against a 1-node replica set in the 'core_txns' suite.
|
||||
- jstests/core/txns/**/*.js
|
||||
# Queryable encryption is not supported on standalone.
|
||||
- jstests/core/query/queryable_encryption/**/*.js
|
||||
# Query settings are not supported on standalone.
|
||||
- jstests/core/query/query_settings/**/*.js
|
||||
|
||||
# CBR does not currently add plans to the plan cache. These tests examine the plan cache.
|
||||
- jstests/core/query/plan_cache/*.js
|
||||
- jstests/core/query/explain/explain_plan_cache.js
|
||||
- jstests/core/query/partial_index_logical.js
|
||||
- jstests/core/index/index_filter_commands.js
|
||||
- jstests/core/index/index_filter_commands_invalidate_plan_cache_entries.js
|
||||
|
||||
# Asserting on specific plan, CBR pick different one
|
||||
- jstests/core/query/agg_hint.js
|
||||
|
||||
# CBR picks a different plan which results in different results due to SERVER-23229
|
||||
- jstests/core/query/project/projection_dotted_paths.js
|
||||
|
||||
# CBR chooses plan with SORT and hits memory limit
|
||||
- jstests/core/query/sort/sortg.js
|
||||
|
||||
# Asserts on output of allPlansExecution. CBR picks a single plan so there is no multiplanning.
|
||||
- jstests/core/query/explain/explain_winning_plan.js
|
||||
|
||||
# TODO SERVER-100144
|
||||
- jstests/core/query/elemmatch/elemmatch_or_pushdown.js
|
||||
# TODO SERVER-100417
|
||||
- jstests/core/query/explain/explain_multi_plan_count.js
|
||||
# TODO SERVER-99956
|
||||
- jstests/core/query/json_schema/*.js
|
||||
- jstests/core/timeseries/write/timeseries_update_arbitrary_updates_not_enabled.js
|
||||
# TODO SERVER-92589: Fails in all feature flags variant because SBE explain not supported
|
||||
- jstests/core/query/index_deduplication.js
|
||||
- jstests/core/query/explain/explain_all_plans_execution_stats.js
|
||||
- jstests/core/query/explain/explain_multi_plan.js
|
||||
|
||||
exclude_with_any_tags:
|
||||
# Profiler entries will have different shape in CBR
|
||||
- requires_profiling
|
||||
executor:
|
||||
config:
|
||||
shell_options:
|
||||
crashOnInvalidBSONError: ""
|
||||
objcheck: ""
|
||||
eval: |
|
||||
await import("jstests/libs/override_methods/detect_spawning_own_mongod.js");
|
||||
fixture:
|
||||
class: MongoDFixture
|
||||
mongod_options:
|
||||
set_parameters:
|
||||
enableTestCommands: 1
|
||||
planRankerMode: "heuristicCE"
|
||||
@ -1899,6 +1899,19 @@ tasks:
|
||||
vars:
|
||||
suite: query_tester_manual_test
|
||||
|
||||
- <<: *task_template
|
||||
name: query_cbr_heuristic_jscore_passthrough
|
||||
tags: [
|
||||
"assigned_to_jira_team_server_query_optimization",
|
||||
"experimental",
|
||||
"blocked_in_query_alias", # We explicitly specify this task in query alias
|
||||
]
|
||||
commands:
|
||||
- func: "do setup"
|
||||
- func: "run tests"
|
||||
vars:
|
||||
suite: query_cbr_heuristic_jscore_passthrough
|
||||
|
||||
################################################
|
||||
# Query Integration tasks #
|
||||
################################################
|
||||
|
||||
@ -350,6 +350,8 @@ buildvariants:
|
||||
- name: noPassthroughWithMongod_gen
|
||||
- name: initial_sync_fuzzer_sanity_patch
|
||||
- name: rollback_fuzzer_sanity_patch
|
||||
- name: query_cbr_heuristic_jscore_passthrough
|
||||
cron: "0 4 * * *" # From the ${project_nightly_cron} parameter.
|
||||
|
||||
- <<: *amazon_linux2_arm64_static_compile_variant_dependency
|
||||
name: amazon_linux2_arm64_static-try-sbe-engine-query-patch-only
|
||||
|
||||
@ -335,9 +335,8 @@ CEResult CardinalityEstimator::estimate(const MatchExpression* node, const bool
|
||||
ceRes = estimate(static_cast<const ElemMatchValueMatchExpression*>(node), isFilterRoot);
|
||||
break;
|
||||
case MatchExpression::ELEM_MATCH_OBJECT:
|
||||
ceRes =
|
||||
estimate(static_cast<const ElemMatchObjectMatchExpression*>(node), isFilterRoot);
|
||||
break;
|
||||
// TODO SERVER-100293
|
||||
return Status(ErrorCodes::UnsupportedCbrNode, "elemMatchObject supported");
|
||||
default:
|
||||
MONGO_UNIMPLEMENTED_TASSERT(9586708);
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user