-
Type:
Task
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Storage Execution
-
None
-
3
-
TBD
-
None
-
None
-
None
-
None
-
None
-
None
-
None
We have the following functions:
- stageUnorderedWritesToBucketCatalogUnoptimized
- Unknown macro: {{stageUnorderedWritesToBucketCatalog}
}
- stageOrderedWritesToBucketCatalog
that have multiple CollectionCatalog instances while also taking a WT snapshot with acquireAndValidateBucketsCollection. We have to ensure that these CollectionCatalog instances all have the same version of the catalog, which means reassigning all catalogs with catalog=CollectionCatalog::get(opCtx); within scope of the collection acquisition that takes the WT snapshot (this will ensure that we have the same version of the catalog because the CollectionAcquisition will stash the current catalog version, so all calls to CollectionCatalog::get within the same scope will have the same instance of the catalog). This can be brittle and tricky to work with, so we would like to remove multiple CollectionCatalog instances within the same function.