[SERVER-57127] Refactor multikey and other state out of IndexCatalogEntry Created: 21/May/21  Updated: 29/Oct/23  Resolved: 07/Jun/21

Status: Closed
Project: Core Server
Component/s: Storage
Affects Version/s: None
Fix Version/s: 5.1.0-rc0

Type: Task Priority: Major - P3
Reporter: Henrik Edin Assignee: Benety Goh
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Problem/Incident
Related
related to SERVER-56877 insert operations may fail to set ind... Closed
related to SERVER-57775 collection metadata for multikey not ... Closed
related to SERVER-57178 add regression test for multikey comp... Closed
related to SERVER-57268 add multikey query to validate_multik... Closed
related to SERVER-57385 support looking up multikey state by ... Closed
is related to SERVER-56002 listIndexes can read partial state fr... Closed
is related to SERVER-56023 listCollections can return empty meta... Closed
Backwards Compatibility: Fully Compatible
Sprint: Execution Team 2021-06-14
Participants:
Linked BF Score: 127

 Description   

SERVER-56002 added a cached version of the index metadata stored in the DurableCatalog in the Collection instance. As the IndexCatalogEntry is just a member of the Collection it should be consistent to use.

We can avoid having multiple caches of the same values that need to be kept in sync.



 Comments   
Comment by Vivian Ge (Inactive) [ 06/Oct/21 ]

Updating the fixversion since branching activities occurred yesterday. This ticket will be in rc0 when it’s been triggered. For more active release information, please keep an eye on #server-release. Thank you!

Comment by Githook User [ 06/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexCatalogEntryImpl no longer maintains own copy of multikey state

Readers that previously accessed the in-memory multikey state in IndexCatalogEntryImpl
are now directed to the collection metadata in CollectionImpl.
Branch: master
https://github.com/mongodb/mongo/commit/480cc141c91caae92235078db06508e2b504a7f0

Comment by Githook User [ 06/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexCatalogEntryImpl no longer maintains own copy of multikey paths

Readers that previously accessed the in-memory multikey paths in IndexCatalogEntryImpl
are now directed to the collection metadata in CollectionImpl.
Branch: master
https://github.com/mongodb/mongo/commit/d8f684b709102499107c1b4bb55cfd4e68b3a8be

Comment by Githook User [ 05/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 remove IndexCatalogEntryImpl::_isMultikeyForWrite and _indexTracksMultikeyPathsInCatalog

This information is now derived from the collection metadata.
Branch: master
https://github.com/mongodb/mongo/commit/f4e79552c206e31be0ed2a68d3fee7426a2f9f7e

Comment by Githook User [ 05/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 convert validate_multikey.js to use a replica set

After migration uncommitted multikey state tracking from a global state to a per operation context
state, this test is no longer guaranteed to run successfully on a standalone with untimestampted
writes.
Branch: master
https://github.com/mongodb/mongo/commit/2e6ee47814057a76c8ad5b9a80f9f533308e0c78

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexCatalogEntry::isMultikey() accepts OperationContext and CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/b54acb3578c94ac393a06fafc84f2dcfdbe83d55

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexCatalogEntry::getMultikeyPaths() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/31277c3193415f2b032f5ef421248bde1b38240b

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 AbstractIndexAccessMethod::doGetKeys() accepts OperationContext and CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/dbf29a77529a35d4f571e5adc1687a96de153338

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexAccessMethod::getKeys() accepts OperationContext and CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/709b9b6fcb3ebbd7d6e23ed8a99e539d785fea13

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 ValidateAdaptor::validateIndexKeyCount() accepts OperationContext
Branch: master
https://github.com/mongodb/mongo/commit/1e34385e2649de1d3844942b512ffcf7e89d0bc3

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 BulkBuilder::insert() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/a8c2848a44540b989d6f52c504f261aadf0c375f

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 MultiIndexBlock::insertSingleDocumentForInitialSyncOrRecovery() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/2318b9c0ada90c761ac41089ebf77d5b54d4b4c8

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 sbe::IndexKeyConsistencyCheckCallback accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/cec298ac1010a34b8aa423e7a4c129ac00ad8ed3

Comment by Githook User [ 04/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 WorkingSetCommon::fetch() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/d72a5e02bf90bfcc2fd08775aa3da0b1cfbba5d9

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexCatalog::findShardKeyPrefixedIndex() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/368d6ce6986680211fd4c09bb23431d08bb4e297

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexAccessMethod::prepareUpdate() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/2dd1985ae3f8afa9b1dc2bdf40a324a8002d6933

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexAccessMethod::findSingle() accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/bcd1f32d78c28f789a88a5c0936cded36abc7386

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 IndexScanParams accepts CollectionPtr

(cherry picked from commit e312afb89845be565feac879750b78a45abd3b0c)
Branch: master
https://github.com/mongodb/mongo/commit/d349e8d579991e8229b5fc60ace1918b7caf878f

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 DistinctParams accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/2d36a3cebf58c94b54b35dc71aa896f1782cca46

Comment by Githook User [ 03/Jun/21 ]

Author:

{'name': 'Benety Goh', 'email': 'benety@mongodb.com', 'username': 'benety'}

Message: SERVER-57127 CountScanParams accepts CollectionPtr
Branch: master
https://github.com/mongodb/mongo/commit/561198923c21ae0fbf2f90dfb198494b9178fa15

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