Just had an IRC conversation about this today. Putting it here (mostly for my reference).
The fix will be slightly less automatic than you mention (so we can stay transactional) but I think it will answer the use case. See transcript for details.
basically, if we name view indexes after the view signature, then you can generate them on a non-queried ddoc, and then push those same new views to the active ddoc when the index is built, and it would just start using it. should be not hard to implement.
the pattern (not implemented, requires a couch patch, is to deploy to a "staging" ddoc
basically a ddoc that isn't used by client queries
build the index
and then push the new code to the production ddoc
(with a small couch change I think we can make it flip to the new index transactionally)
I'll write a jira ticket
that would be great, rebuilding views can be pretty slow when you have a big db
let's get 0.9.0 out first
in the mean time, version your ddoc names or something
if you can't have downtime
I can have downtime right now, but I will really need conditional replication soon tho is that for 0.9 or 1.0? (or 0.10)
won't make 0.9.0
should be an easy change