-
Type: New Feature
-
Resolution: Won't Do
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Catalog, Index Maintenance
-
Labels:None
-
Execution Team 2019-11-04
- Register new indexes with the IndexCatalog after getting the commit OpTime in the OpObserver. Set the minVisibleSnapshot to the commit time before registering.
- As it is now possible for concurrent creations of the same collection name to race, throw a WriteConflictException if registration fails due to an already existing collection of the same name. Test that conflicts that happen before registration time still return IndexKeySpecsConflict.
- Ensure that operations that do not read at a timestamp cannot see an index that has been observed by the OpObserver but that not yet has committed, or has been committed in a newer storage snapshot than that of the reader.
- Ensure that the above mechanism also works for non-replicated collections, or keep using MODE_X collection locks for those.