SolrCloud, thanks to ZooKeeper integration, has some nice utilities for managing and reloading core/collection configuration.
However, this only fully covers the case of trivial updates - but there are also nontrivial updates. Nontrivial in this case means resulting in some changes that make an updated node and/or its cores incompatible with some previous state.
In particular, these subcases come to mind:
- A code update necessitating a restart of an underlying Solr instance.
- A schema change that requires a full rebuild of a core.
My question is: how can SolrCloud and the associated Zookeeper services be used to make such updates easier, more reliable, and/or ensuring higher availability?
Note: I was hoping for some APIs/functionality that "understands" such updates. So far the most notable thing I've found is collection aliasing in CoreAdmin, which would allow for a smoother transition between the "old" and "new" versions - a little disappointing given the aforementioned hopes.