+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
>
>

Reply via email to