At the Lucene level, it was deemed too much of a PITA to retain the older
writing code in future versions.  I think maybe this was re-discussed in
the last year.  I sympathize.

~ David


On Tue, Jun 30, 2020 at 6:30 PM Ilan Ginzburg <ilans...@gmail.com> wrote:

> If there could be a way to force the new version to continue writing in
> the previous format for a while, that would allow switching to writing the
> new format once all nodes have been upgraded (or more likely when the
> cluster admin decides so).
>
> Ilan
>
> Le mar. 30 juin 2020 à 21:34, David Smiley <dsmi...@apache.org> a écrit :
>
>> I was considering the process of a Solr upgrade to a SolrCloud cluster
>> within a minor version (e.g. 8.3 -> 8.4).
>>
>> A concern I have is the implication of new Lucene index formats.  Lucene
>> 8.4 bumped the Codec version because of postings being written differently
>> to be more SIMD friendly --
>> https://issues.apache.org/jira/browse/LUCENE-9027
>> Lucene 8.4 will read an index created with Lucene 8.3 -- great; but
>> Lucene 8.3 obviously can't read an index created with Lucene 8.4.  I'm not
>> picking on this specific JIRA/change; it could be many others.  There's
>> another coming in 8.6.
>>
>> We've got some documentation on the upgrade process:
>>
>> https://github.com/apache/lucene-solr/blob/master/solr/solr-ref-guide/src/upgrading-a-solr-cluster.adoc
>> The instructions describe a rolling upgrading of each node one at a
>> time.  Makes sense.  However, it's possible for a shard on an already
>> upgraded node to become leader, have some documents written to it, and then
>> a replica on a non-upgraded node might end up replicating segments from the
>> leader.  This is possible with all replica types, though I think more
>> likely with TLOG & PULL.  I am not sure if there are any protections for
>> this (e.g. in replication handler / index fetcher); there should be.  I
>> think that SolrCloud should prevent a replica from becoming a leader if
>> there exists another replica (for the same shard) that has a lower Solr
>> version.
>>
>> I can think of two work-arounds:
>> (A) shut down the whole cluster to do the upgrade (forced down time)
>> (B) initiate read-only status for all collections
>> https://github.com/apache/lucene-solr/blob/master/solr/solr-ref-guide/src/collection-management.adoc#L258
>>  and
>> also be careful not to create new collections during this time.  Then do
>> the rolling upgrade as described in the docs above, and then remove the
>> read-only status.
>>
>> ~ David Smiley
>> Apache Lucene/Solr Search Developer
>> http://www.linkedin.com/in/davidwsmiley
>>
>

Reply via email to