[SERVER-18857] concurrent index create requested per database or per table Created: 07/Jun/15  Updated: 25/Jan/19  Resolved: 25/Jan/19

Status: Closed
Project: Core Server
Component/s: Index Maintenance
Affects Version/s: None
Fix Version/s: None

Type: New Feature Priority: Major - P3
Reporter: Mark Callaghan Assignee: Louis Williams
Resolution: Done Votes: 2
Labels: nyc
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-18301 Allow reads during foreground index b... Closed
Participants:

 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/



 Comments   
Comment by Louis Williams [ 25/Jan/19 ]

Closing this ticket as Gone Away now that all index builds run in the background by default. See SERVER-37270

Comment by Michael Cahill (Inactive) [ 06/Jul/15 ]

mdcallag we've discussed this, we agree that it should be possible, but it isn't going to make the cut for the MongoDB 3.2 release.

Generated at Thu Feb 08 03:48:57 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.