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

concurrent index create requested per database or per table

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Gone away
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Indexing
    • Labels:

      Description

      Docs state that foreground index build locks the database. This makes sense for mmapv1. It shouldn't be required for WiredTiger & RocksDB. I hope we can support concurrent foreground index build in a database or even on one collection.

      One use case is database reload where a common practice is to load the table with only a PK index, then with one scan of the table do (possibly external) sorts for each of the secondary indexes, then finish each sort and write the secondary index with minimal fragmentation.

      Database reload where the secondary index has already been declared can bog down in the read-modify-write IO required for btrees, like WiredTiger.

      http://docs.mongodb.org/manual/reference/method/db.collection.createIndex/#db.collection.createIndex
      http://docs.mongodb.org/manual/faq/concurrency/
      http://docs.mongodb.org/manual/tutorial/build-indexes-in-the-background/
      http://docs.mongodb.org/manual/core/index-creation/

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                2 Vote for this issue
                Watchers:
                17 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: