On a secondary, a "foreground" (normal) index build could be done while still letting readers read. then we just swap in the index when it is ready with a very short write lock. that is, assuming here there are no other writers than the replication sync thread.
while the index build is in progress i'm assuming other ops would not be applied, so some lag would accumulate, but it would be nice to still be readable. thoughts?