[ 
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]

Reply via email to