| Age | Commit message (Collapse) | Author |
|
GitOrigin-RevId: 0676014a38d4a1c03884dcc99c062051fe99736e
|
|
GitOrigin-RevId: 7d15031a6c8d34808e63b6d8aebe29579852df5d
|
|
planning entire query (#23031)
GitOrigin-RevId: b6cd4868285890ec59ec0156375c4002d8c91c72
|
|
Co-authored-by: Ian Boros <ian.boros@mongodb.com>
GitOrigin-RevId: 0a6457e8c1c120b9761b5bba7c1ff1fb5aca8d28
|
|
GitOrigin-RevId: 3bf518d6c30352deaba953d12b79b1f3bb788d9d
|
|
SERVER-87377 Add replanReason in MultiPlanStats
When Classic Runtime Planner for SBE is enabled and CachedPlanner
decides to replan a query, replanReason is missed when EOF optimization
is used in MultiPlanner. This is because the explainer only access the
stats from the underlying MultiPlanStage and its specific stats does not
have that.
This commit adds an optional field to allow the caller to pass in
replanReason when MultiPlanStage is constructed and hence the reason can
be propagated from CachedPlanner, MultiPlanner to MultiPlanStage.
GitOrigin-RevId: d137bcb6155c9920a8390d3880d211d3f5a9f0fe
|
|
classic multi-planner with SBE (#18751)
GitOrigin-RevId: a882cdaa0e60c92910df9f7953eed3754c9aaeef
|
|
execution during multi planning (#19014)
GitOrigin-RevId: 4d47c1234ee7e4f2f3f23e8bc22b5b6cac1774c0
|
|
GitOrigin-RevId: bdcc7ef3a8dbb7f3d0c452db4716c0ef6ca354d8
|
|
GitOrigin-RevId: 34052b162159b900c4a2daed02c8efbbb64531ed
|
|
SERVER-86150 Log QuerySolution hash when final plan is chosen
Add an additional field containing the winning QuerySolution's hash to
the existing log lines for the SBE and the Classic execution engines.
GitOrigin-RevId: 7648b3f648c54761cfb4de68def11a430efb6466
|
|
GitOrigin-RevId: 7753e77b9d3949c083b4ec22d2f6feec987a7788
|
|
(#15468)
GitOrigin-RevId: 1ce84ae1bac7fc36edcabc29bad9abf6c3027bf2
|
|
|
|
|
|
|
|
ScopedCollectionAcquisition
|
|
|
|
|
|
|
|
|
|
indexes on same key
|
|
|
|
|
|
This reverts commit e7d2be0dae29265e2a6efafd4753debf11b9e96f.
|
|
|
|
This change attaches context to the plan executor in order to distinguish
a yield request due to a write conflict from one due to a TemporarilyUnavailable
error, and to handle the two cases accordingly in the query execution code.
|
|
|
|
|
|
`TemporarilyUnavailableException` into `assert_util.h`
|
|
|
|
|
|
performance
|
|
the sort option
|
|
The 'internalQueryPlanEvaluationWorks' parameter now only
affects the classic engine. The newly added parameter has
similar behavior, but applies only to queries using SBE.
|
|
collection size
This patch changes the 'internalQueryPlanEvaluationCollFraction' knob
to apply only to the classic engine. It introduces a separate knob,
'internalQueryPlanEvaluationCollFractionSbe', which applies only to
the SBE engine. The SBE knob has a default of 0, while the classic
engine retains its default of 0.3. This ensures that by default, no
candidate plan will ever do more than 10,000 storage reads during SBE
multi-planning.
|
|
|
|
|
|
|
|
This patch includes a number of changes to facilitate the use of PlanCacheIndexabilityState with SBE and classic plan cache keys.
* Introduced a plan cache key factory.
* Moved PlanCacheIndexabilityState from the PlanCache into CollectionQueryInfo.
* Templetized QueryPlanner::planSubqueries() so it can be used with classic and SBE plan caches.
* Removed dependency on the CanonicalQuery from the PlanCache class.
Co-authored-by: Anton Korshunov <anton.korshunov@mongodb.com>
|
|
|
|
"queryPlanner" output and/or "allPlansExecution"
|
|
|
|
- Change PlanExplainerImpl::getWinningPlanStats to not cut off the nodes
on top of the MultiPlanStage.
- Adapt all functions that process a tree of PlanStage or PlanStageStats
for the purpose of Explain to skip the MultiPlan node, and jump to
process its best plan child.
- Pass the index of the multi-plan sub-plan that should be printed to
various functions that print or linearize plans.
|
|
|
|
|
|
|
|
It implements a yieldable interface that is used to re-load the
Collection pointer from the catalog after a yield that released locks.
With lock-free reads and copy-on-write on Collection instances releasing
locks without notifying an AutoGetCollection at a higher level may cause
its pointers to dangle if a MODE_X writer installs a new Collection
instance in the catalog.
CollectionPtr should be passed by const reference so a yield can notify
all the way up.
|
|
|
|
the master branch
This is an initial commit for the slot-based execution engine (SBE) which contains:
* Implementation of the core slot-based engine.
* The SBE stage builder, which is responsible for translating a QuerySolution tree
into an SBE plan.
* Other changes necessary for integration with the find command.
Co-authored-by: Anton Korshunov <anton.korshunov@mongodb.com>
Co-authored-by: Justin Seyster <justin.seyster@mongodb.com>
Co-authored-by: David Storch <david.storch@mongodb.com>
|