Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-43857

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

    XMLWordPrintableJSON

Details

    • Icon: New Feature New Feature
    • Resolution: Won't Do
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Catalog, Index Maintenance
    • None
    • Execution Team 2019-11-04

    Description

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

      Attachments

        Activity

          People

            geert.bosch@mongodb.com Geert Bosch
            geert.bosch@mongodb.com Geert Bosch
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: