I think you're saying you want to prove out the upgrade in some kind of test setup then switch live traffic. What's commonly used for that is collection aliasing. You just create a new collection and populate it and check it out. When you're satisfied that it's doing what you want, use the collections API CREATEALIAS command to seamlessly switch. Here's the sequence: old_collection is active create new_collection, index to it and make sure it is doing what you want CREATEALIAS pointing old_collection at new_colletion.
The advantage here is that you have as long as you want to verify your new collection is fine. You can also switch back if you need to. The disadvantage is that you effectively need extra hardware. You can mitigate this somewhat by bringing up your new collection with a limited number of replicas and after switching you delete replicas from the old collection and add them to the new one. Be very very careful here though that your collection commands (ADDREPLICA/DELETEREPLICA) don't actually operate on the new collection! Best, Erick On Sun, Apr 15, 2018 at 10:22 AM, Shawn Heisey <apa...@elyograg.org> wrote: > On 4/15/2018 1:22 AM, Moshe Recanati | KMS wrote: >> >> >> We’re using SolrCloud as part of our product solution for High >> Availability. >> >> During upgrade of a version we need to run full index build on our Solr >> data. >> > > What are you upgrading? If it's Solr, you should pause/stop indexing while > you do the upgrade. You'll have to stop Solr processes to upgrade them, and > even if you're using an external load balancer, it takes a little bit of > time for failover to occur. > > It would be up to your indexing software to handle errors in that situation. > There is nothing that Solr can do about that. If your indexing software > correctly detects and handles errors, then you might be able to restart Solr > instances without a problem. > >> I would like to know if as part of SolrCloud we can manage it and make >> sure that items are available during the index so only once specific item is >> indexed it’s changing with no affect on end-user. >> > > I can't decipher exactly what you're asking here. > > Thanks, > Shawn >