Hi,
Any co-existing if 8.x and 9.x nodes in the same cluster will require the
multi-step approach.
You set the solr.pki.sendVersion as system property, e.g. by adding it to
SOLR_OPTS variable in
solr.in.sh, or through other means your environment has to pass variables to
solr. I.e.
Should be something like:
1. Start your new 4 EC2's with
SOLR_OPTS=-Dsolr.pki.sendVersion=1 -Dsolr.pki.acceptVersions=v1,v2
Verify in Admin UI Java properties screen that you see these properties
showing up on the new nodes
2. Use REPLACENODE api to move replicas to new nodes:
https://solr.apache.org/guide/8_11/cluster-node-management.html#replacenode
3. Retire the old nodes
4. Remove the sendVersion override properties from solr.in.sh and restart each
node
Jan
> 30. mar. 2023 kl. 21:45 skrev Shamik Bandopadhyay <[email protected]>:
>
> Hi,
>
> I'm planning to upgrade to the latest Solr version from our current
> version of 8.11.1. As per the upgrade notes, looks like I should be able to
> do a rolling upgrade. The part I'm a bit confused about is the *PKI
> Authentication* section. It says:
>
> *A rolling upgrade from Solr 8 to Solr 9 requires the following multiple
> restart sequence:*
>
> 1.
>
> *Upgrade to Solr 9 and set system properties: solr.pki.sendVersion=v1
> and solr.pki.acceptVersions=v1,v2. This will allow Solr 9 nodes to send
> messages to Solr 8 nodes while the upgrade is in progress.*
> 2.
>
> *Restart with solr.pki.sendVersion=v2 (default, can be unset) and
> solr.pki.acceptVersions=v1,v2. This will force all nodes to send the new
> header.*
> 3.
>
> *(Optional) Restart with system property solr.pki.acceptVersions=v2
> (default, can be unset) to prevent outdated nodes from connecting to your
> cluster.*
>
>
> Does this apply to every 8 to 9 upgrade irrespective of the version?
>
> Currently, my development environment has 4 nodes (each running on its
> separate EC2 instance) with 2 shards and 1 replica each. There are three
> zookeeper instances. I'll have four new EC2 with Solr 9.2 installed and
> then start them in sequence, each pointing to the existing zookeeper
> cluster. This should add them as replicas to the existing SolrCloud cloud.
> What I'm not clear about is
> 1. Where do I add solr.pki.sendVersion=v1 and solr.pki.acceptVersions=v1,v2
> ? Do they have to be in *solr.in.sh <http://solr.in.sh> *for each node?
> 2. When do I perform step 2 of restarting the new nodes with
> solr.pki.sendVersion=v2 and solr.pki.acceptVersions=v1,v2 ?
>
> Any pointers will be highly appreciated.
>
> Thanks,
> Shamik