[ 
https://issues.apache.org/jira/browse/LUCENE-8264?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16451952#comment-16451952
 ] 

Simon Willnauer commented on LUCENE-8264:
-----------------------------------------

I totally agree with robert here, good collection of valid technical points. We 
can't let lurking corruptions happen. The improvements made to norms here are 
awesome and we need to move forward with stuff like this. Also after looking at 
the details, I am convinced the guarantees that this restriction gives us are 
crucial to the future of lucene. We can't support lurking corruptions for users 
that come from ancient versions by converting (merging / rewriting segments) 
from N-X to N in steps that nobody ever tested.

Also the points about the database aspect are very much valid. We need raw data 
to re-create these indices reliably and if you are running on top of a search 
engine you need to account for reindexing.

Btw. we have this restriction in ES since 1.0 implicitly. We always only 
supported N-1 major versions for ES indices, yet they happen to be 
corresponding to N-1 Lucene major versions. There is also a lot of work gone 
into supporting searching across major versions of ES to allow users to stay on 
older versions for retention policy purposes. Some of these conversations are 
not easy but necessary for us to prevent support insanity. 

That said, I think there might be room for N-X at some point as long as the 
guarantee is only N-1. At some point we might allow the min index created 
version to be 7 even if you are on 9. But for us to make progress we need to be 
free to break and only guarantee N-1. 

Also, what this means is that your indices are supported ~2.5 years that is the 
major release cadence historically. I think it's important to keep this in 
mind.   

> Allow an option to rewrite all segments
> ---------------------------------------
>
>                 Key: LUCENE-8264
>                 URL: https://issues.apache.org/jira/browse/LUCENE-8264
>             Project: Lucene - Core
>          Issue Type: Improvement
>            Reporter: Erick Erickson
>            Assignee: Erick Erickson
>            Priority: Major
>
> For the background, see SOLR-12259.
> There are several use-cases that would be much easier, especially during 
> upgrades, if we could specify that all segments get rewritten. 
> One example: Upgrading 5x->6x->7x. When segments are merged, they're 
> rewritten into the current format. However, there's no guarantee that a 
> particular segment _ever_ gets merged so the 6x-7x upgrade won't necessarily 
> be successful.
> How many merge policies support this is an open question. I propose to start 
> with TMP and raise other JIRAs as necessary for other merge policies.
> So far the usual response has been "re-index from scratch", but that's 
> increasingly difficult as systems get larger.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to