Only use a MODE_IX collection lock for index creation on an empty collection

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Won't Do
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Catalog, Index Maintenance
    • None
    • Execution Team 2019-11-04
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      • 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.

            Assignee:
            Geert Bosch
            Reporter:
            Geert Bosch
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: