-
Type: New Feature
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Index Maintenance
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/
- related to
-
SERVER-18301 Allow reads during foreground index builds
- Closed