[SERVER-17659] Query plan cache support for partial indexes Created: 19/Mar/15  Updated: 09/Jun/16  Resolved: 07/May/15

Status: Closed
Project: Core Server
Component/s: Index Maintenance, Querying
Affects Version/s: None
Fix Version/s: 3.1.3

Type: Task Priority: Major - P3
Reporter: Ian Whalen (Inactive) Assignee: J Rassi
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-24320 Planner can attempt to use invalid in... Closed
Backwards Compatibility: Fully Compatible
Sprint: Quint Iteration 3.1.1, Quint Iteration 3.1.2, Quint Iteration 3
Participants:

 Comments   
Comment by Githook User [ 07/May/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 Hook up PlanCacheIndexabilityState

Extends the plan cache key encoding scheme to include indexability
information. This information is generated from new private method
CollectionInfoCache::updatePlanCacheIndexEntries(), which is called
unconditionally from CollectionInfoCache::reset().
Branch: master
https://github.com/mongodb/mongo/commit/500cb567489db454bc6509cf6ff9704daf6fa352

Comment by Githook User [ 07/May/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 Add PlanCacheIndexabilityState

Encapsulates functionality to be used by PlanCache, for deciding how
to cache queries with predicates over elements in partial index key
patterns.
Branch: master
https://github.com/mongodb/mongo/commit/a3add38aaf5385a49d5e8a72ee05c6bbe0e13611

Comment by Githook User [ 07/May/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 IndexEntry: add new member 'filterExpr' to struct
Branch: master
https://github.com/mongodb/mongo/commit/fd777917d262d759fa3fa83998cd67ef70b8b8f9

Comment by Githook User [ 07/May/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 Minor reorg/cleanup of plan_cache.h, plan_cache.cpp

Moves anonymous functions to private methods, in preparation for
plan cache "indexability" support:

  • encodePlanCacheKeyTree() => PlanCache::encodeKeyForMatch()
  • encodePlanCacheKeySort() => PlanCache::encodeKeyForSort()
  • encodePlanCacheKeyProj() => PlanCache::encodeKeyForProj()

Replaces str::stream() use with StringBuilder where appropriate,
fixes commenting style.
Branch: master
https://github.com/mongodb/mongo/commit/c94a742593e9cf4302423642fb61d9da2d9c2897

Comment by Githook User [ 07/May/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 Index build: call addedIndex() when in consistent state

In IndexCatalog::IndexBuildBlock::success(), the call to
CollectionInfoCache::addedIndex() is delayed until the index is ready.
This allows CollectionInfoCache methods to (more) safely inspect the
IndexCatalog.

See SERVER-18346 for related information.
Branch: master
https://github.com/mongodb/mongo/commit/d3c8414d0b331a00d7b907b28529309d9abefb79

Comment by Githook User [ 22/Apr/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 Move CQ::getPlanCacheKey() => PlanCache::computeKey()

Includes partial revert of e5f17aaf. In particular, CanonicalQuery
objects no longer pre-generate their PlanCacheKey.
Branch: master
https://github.com/mongodb/mongo/commit/d187ea1cc67b1975b6a1cbfcca1977598e9ea0c5

Comment by Githook User [ 22/Apr/15 ]

Author:

{u'username': u'jrassi', u'name': u'Jason Rassi', u'email': u'rassi@10gen.com'}

Message: SERVER-17659 CanonicalQuery::sortTree() shouldn't depend on cache key
Branch: master
https://github.com/mongodb/mongo/commit/88f6f4733bca7c615dd6fedcfc93a24cfa68372a

Generated at Thu Feb 08 03:45:12 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.