thanks for all the feedback, I opened
https://issues.apache.org/jira/browse/LUCENE-9669 to address this
further.

On Wed, Jan 13, 2021 at 2:58 PM Adrien Grand <jpou...@gmail.com> wrote:
>
> +1 this strikes to me as a good balance between increasing backward 
> compatibility guarantees and still keeping room for innovation.
>
> David, actually I would like to advocate in favor of still disallowing 
> opening N-2 indices by default, as they might not match Lucene's current 
> expectations (e.g. using a different encoding for norms due to LUCENE-7730), 
> and using Lucene's current analyzers/similarities/queries might trigger 
> surprising behavior. My preference would be to expose the ability to open N-2 
> indices behind an expert API/flag that documents limitations with N-2 indices.
>
> Mike, I wondered about this question too. As you pointed out, I think that we 
> will generally be ok given that the N-2 compatibility layer will very likely 
> be the same as the N-1 compatibility layer that we need to develop anyway. I 
> tried to think of examples when that wouldn't work but couldn't find any 
> (which doesn't mean that there is none, but hopefully it would be rare).
>
>
>
> On Mon, Jan 11, 2021 at 4:57 PM Michael McCandless 
> <luc...@mikemccandless.com> wrote:
>>
>> +1, I like the idea in general.
>>
>> We will have to work out the details in practice as we come across "index 
>> breaking" changes, and where/how to draw the line of "best effort".  But I 
>> think this is an improvement for our users over the hard check we now have 
>> for "only N-1", and likely not so much development effort?
>>
>> I think where it might get interesting is if we want to make a Codec API 
>> change, maybe to optimize a interesting use-cases, and then we must do some 
>> development to fix N-2 BWC codec (as well as N-1 BWC codec that we already 
>> must fix for such an example, today).
>>
>> Some users seem to keep their indices alive for a very long time!
>>
>> Mike McCandless
>>
>> http://blog.mikemccandless.com
>>
>>
>> On Sat, Jan 9, 2021 at 6:13 AM Simon Willnauer <simon.willna...@gmail.com> 
>> wrote:
>>>
>>> I can provide some examples of BWC issues and what we would do if it
>>> happened in the future:
>>>
>>> - negative offsets: in this case it would be best effort to add a
>>> wrapper around the older formats to check if the offsets go backwards
>>> on the read side and throw an exception to prevent consumers making
>>> the assumption that offsets go forward only from failing or going OOM
>>> etc.
>>> - norms encoding: in this case it would be best effort in the older
>>> norms formats to convert to the newer encodings.
>>> - the removal of numeric fields queries would not fall under the
>>> promises we make with compatibility of N-2 and it would be the
>>> responsibility of the user to keep the code around that understands
>>> the value of a field.
>>>
>>> I hope this clarifies some of the aspects?
>>>
>>> we would only do all this for the reading end, for writing we would
>>> reject indices that are older than N-1
>>>
>>> simon
>>>
>>>
>>> On Thu, Jan 7, 2021 at 8:04 PM jim ferenczi <jim.feren...@gmail.com> wrote:
>>> >
>>> > The proposal is only about keeping the ability to read file-format up to 
>>> > N-2. Everything that is done on top of the file format is not guaranteed 
>>> > and should be supported on a best-effort basis.
>>> > That's an important aspect if we don't want to block innovation. So in 
>>> > practice that means that queries that require some specific file format 
>>> > or analyzers that change behaviors in major versions would not be part of 
>>> > the extended guarantee.
>>> >
>>> >
>>> > Le mer. 6 janv. 2021 à 21:53, Yonik Seeley <ysee...@gmail.com> a écrit :
>>> >>
>>> >> On Wed, Jan 6, 2021 at 4:40 AM Simon Willnauer 
>>> >> <simon.willna...@gmail.com> wrote:
>>> >>>
>>> >>>  You can open a reader on an index created by
>>> >>> version N-2, but you cannot open an IndexWriter on it
>>> >>
>>> >>
>>> >> +1
>>> >> There should definitely be more consideration given to back compat in 
>>> >> general... it's caused a ton of pain to users over time.
>>> >>
>>> >> -Yonik
>>> >>
>>> >>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
>>> For additional commands, e-mail: dev-h...@lucene.apache.org
>>>
>
>
> --
> Adrien

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

Reply via email to