Details
-
Bug
-
Resolution: Done
-
Critical - P2
-
None
-
Version 2.2.1
Description
We are attempting to solve an issue where we need to propagate the indexes on our test environment to our production environment without any loss of availability.
The problem is, the documentation that our Dev Lead has gone by reads that indexing on the secondaries turns into a foreground task, which makes that node unavailable:
"Build Indexes on Replica Sets
Background index creation operations become foreground indexing operations on secondary members of replica sets. The foreground index building process blocks all replication and read operations on the secondaries while they build the index."
http://docs.mongodb.org/manual/tutorial/build-indexes-on-replica-sets/
However, our DB Dev Manager finds another area in the docs that reads something entirely different:
"Version 2.1.0 and later
Indexes can be built in the foreground or background. Background indexes builds on the primary will result in background index builds on the secondaries.
Recovering members (for example, new members who are initial syncing or members in maintenance mode) will always build indexes in the foreground because they cannot handle reads anyway. Generally you want recovering members to catch up as quickly as possible."
Can you clear this up for us? This issue has been blocking a very important feature to be released on the live site, and we're trying to get a fix done by EOD tomorrow (5/23/2013). We need to know what to expect so we can forge a solution ASAP.