Hi Jan!
Really appreciate your follow up. I did have a couple of clarifying
questions to bounce of you
On 2022-08-14 11:39, Jan Høydahl wrote:
1. The upgrade process[1] suggests an N+/-1 compat story, e.g. 8.11.2
should be able to co-mingle with 7.>3 but I haven't turned up any firm
statements about that.
Yes, rolling upgrade from 7.x (recommend first going to latest 7.x) to
8.x is possible as outlined here
https://solr.apache.org/guide/solr/latest/upgrade-notes/major-changes-in-solr-8.html#rolling-upgrades-with-solr-8.
You should carefully audit all the upgrade notes before starting.
Appreciate for the pointer! We had caught the HTTP/1.1 vs HTTP/2 bit
while reviewing the change list but it's a good reminder :D
By simulating the full upgrade procedure on your test / QA cluster
first you can weed out any issues before heading to your prod cluster.
Yup, this bit of reading / research is in service of fleshing out our
process for the dev fleet. Definitely not going to lead with prod.
The recommendation is however to install a brand new 9.0 cluster
(since 8.x will be EOL within a year) and re-index.
Point taken. Given the seemingly N-1 posture for Solr & Lucene I'm
guessing if we wanted to do that we would use the IndexUpgraderTool to
convert indexes from 7->8 and then let the v9 deployment handle the 8->9
upgrade?
2. Is there forward/backward compatibility between segment/index files
between version? e.g. we have automatic core recovery from backups in
the event that a node fails. If I'm running a v8 node that fails after
a backup has been taken and the core gets restored to a v7 does that
sound problematic? (I'm guessing maybe/yes per [3])
If the restore is an index created with 7.x, no issues, see above.
Right, the scenario I was worried about:
1. NodeA + NodeB are both running Solr 7 (they're just nodes in the
system, no replication, serve disparate cores)
2. NodeA begins upgrade process, now running Solr 8
3. NodeA takes backup on regular intervals, sends to s3 bucket
4. NodeA host failure
5. Custom cluster automation notices NodeA is dead and identifies it
should find new node for the cores that were previously assigned to
NodeA
6. Automation reassigns NodeA cores to NodeB which has not yet been
upgraded to Solr8
7. NodeB (Solr7) restores index from s3 backups, tries to serve Solr8
index
So in this case we've got an index backup from Solr8 that Solr7 is
attempting to serve. That seems non ideal / potentially non-functional
if Solr has mechanisms that fail when it sees unexpected version info
(which it sounds like it does based on your commentary around the
IndexUpgraderTool below).
[...] then Solr8 would refuse to start since it will find traces
of v6.x in the binary index files.
-r