-
Type: New Feature
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Index Maintenance, Replication
-
None
-
Storage Execution
Even after SERVER-2771 gets sorted out, it would be good to have better support for rolling out new indexes one replica set member at a time: since index builds, whether foreground or background, impact performance on the node, anybody who is doing slaveOk queries will probably be unhappy if all their secondaries are slow down all at the same time, typically for a long duration.
So maybe createIndex could have a force option analogous to compact's, that would make the index get built even if the node is a secondary (and I think, when a node that gets a force instruction is secondary, not registering the index build in the oplog). This way, people could more conveniently deploy their indexes one node at a time without requiring the restart-without-replSet option that's needed today.
(Presumably, while building indexes this way, a secondary should go into recovering mode and/or do whatever else a secondary does during compact to arrange things so that clients don't route reads to it.)
- is related to
-
SERVER-3427 add maintainence mode for commands
- Closed
-
SERVER-2771 Background index builds on replica set secondaries
- Closed
- related to
-
SERVER-6883 index creation on secondaries need not block readers
- Closed