[SERVER-6836] Allow index builds on secondaries with a "force" option. Created: 23/Aug/12  Updated: 06/Dec/22  Resolved: 04/Mar/19

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

Type: New Feature Priority: Major - P3
Reporter: Richard Kreuter (Inactive) Assignee: Backlog - Storage Execution Team
Resolution: Done Votes: 1
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
related to SERVER-6883 index creation on secondaries need no... Closed
is related to SERVER-3427 add maintainence mode for commands Closed
is related to SERVER-2771 Background index builds on replica se... Closed
Assigned Teams:
Storage Execution
Participants:

 Description   

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



 Comments   
Comment by Sara Williamson [ 04/Mar/19 ]

Rolling index builds are now automated in Atlas; this is now the recommended way to do this.

Comment by Asya Kamsky [ 11/Apr/13 ]

Customer is asking for just this exact feature - they are having trouble automating adding indexes to existing clusters since it currently involves stopping mongod and restarting with a non-standard config.

They specifically asked for offline/maintenance mode for index builds on secondaries.

Comment by Richard Kreuter (Inactive) [ 03/Dec/12 ]

Andy asked me to link requests of the form "command C should put node into maintenanceMode" to the maintenanceMode issue.

If this issue gets implemented, then the command should put the secondary into maintenanceMode.

Comment by Richard Kreuter (Inactive) [ 23/Aug/12 ]

Also has to do with index builds on secondaries, though this issue is kind of an alternative feature.

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