On 3/28/2013 3:01 PM, Walter Underwood wrote:
There are lots of small issues, though.
1. Is Solr tested with a mix of current and previous versions? It is safe to
run a cluster that is a mix of 4.1 and 4.2, even for a little bit?
2. Can Solr 4.2 run with Solr 4.1 config files? This means all of conf/, not
just the main XML files.
3. We don't want a cluster with config files that are ahead of the software
version, so I think we need:
* Update all the war files and restart each Solr process.
* Upload the new config files
* Reload each collection on each Solr process
But this requires that Solr 4.2 be able to start with Solr 4.1 config files.
4. Do we need to stop updates, wait for all nodes to sync, and not restart
until the whole cluster is uploaded.
5. I'd like a bit more detail about exactly what upconfig is supposed to do,
because I spent a lot of time with it doing things that did not result in a
working Solr cluster. For example, for files in the directory argument, where
exactly do they end up in the Zookeeper space? Currently, I've been doing
updates with bootstrap, because it was the only thing I could get to work.
Solr 4.2 will work just fine with config files from 4.1.
I have a SolrCloud that was running a 4.1 snapshot. I upgraded it to
4.2.1 built from source with no problem. The exact steps that I did were:
1) Replace solr.war.
2) Replace lucene-analyzers-icu-4.1-SNAPSHOT.jar with
lucene-analyzers-icu-4.2.1-SNAPSHOT.jar
3) Upgrade all of my jetty jars from 8.1.7 to 8.1.9.
4) Repeat the steps above on the other server.
5) Use zkcli.sh to 'upconfig' a replacement config set with only one
change - luceneMatchVersion went from LUCENE_40 to LUCENE_42.
6) Restart both Solr instances.
Upgrading jetty is something applicable to only my install, and was not
a necessary step. The jetty version currently included in Solr as of
4.1 is 8.1.8 - see SOLR-4155.
The upconfig command on zkcli.sh will add/replace the config set with
the one that you specify. It will go into /configs in your zookeeper
ensemble. If you specify a chroot on your zkhost parameter, then it
will go into /path/to/chroot/configs instead. Most of the time a chroot
will only have one element, so /chroot/configs would the most likely
location.
I actually would like more detail on upconfig myself - what if you
delete files from the config directory on disk? Will they be deleted
from zookeeper? I use a solrconfig that has xinclude statements, and
occasionally those files do get deleted or renamed.
Thanks,
Shawn