[
https://issues.apache.org/jira/browse/LUCENE-5859?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14080517#comment-14080517
]
Shai Erera commented on LUCENE-5859:
------------------------------------
The way I see it, Rob's commit is exactly what [[email protected]] and
others seem to agree we should do on this issue. Removing Version from the
Analyzers that don't make use of it is just like having the no-Version ctor
along with a Versio'd one. So [[email protected]], if I use your
example of upgrade FooAnalyzer from 5.2 to 5.3, in 5.2 FooAnalyzer won't take
any Version and in 5.3 will have two ctors: no-Version one which calls
{{this(Version.CURRENT)}} and a Version one which acts accordingly. If you care
about the 5.2- behavior, you pass Version.5_2, otherwise you can pass
Version.CURRENT or use the no-Version ctor. So at least from a technical
standpoint, Rob committed what people have voted +1 for.
I do think it would not be the end of the world if Rob waited with the commit a
couple hours to get at least a +1 on this, or explain why the patch implements
the idea that people seem to agree on. We've waited for +1s on much less
controversial issues in the past...
> Remove Version.java completely
> ------------------------------
>
> Key: LUCENE-5859
> URL: https://issues.apache.org/jira/browse/LUCENE-5859
> Project: Lucene - Core
> Issue Type: Bug
> Reporter: Robert Muir
> Fix For: 5.0
>
> Attachments: LUCENE-5859_dead_code.patch
>
>
> This has always been a mess: analyzers are easy enough to make on your own,
> we don't need to "take responsibility" for the users analysis chain for 2
> major releases.
> The code maintenance is horrible here.
> This creates a huge usability issue too, and as seen from numerous mailing
> list issues, users don't even understand how this versioning works anyway.
> I'm sure someone will whine if i try to remove these constants, but we can at
> least make no-arg ctors forwarding to VERSION_CURRENT so that people who
> don't care about back compat (e.g. just prototyping) don't have to deal with
> the horribly complex versioning system.
> If you want to make the argument that doing this is "trappy" (i heard this
> before), i think thats bogus, and ill counter by trying to remove them.
> Either way, I'm personally not going to add any of this kind of back compat
> logic myself ever again.
> Updated: description of the issue updated as expected. We should remove this
> API completely. No one else on the planet has APIs that require a mandatory
> version parameter.
--
This message was sent by Atlassian JIRA
(v6.2#6252)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]