[ 
https://issues.apache.org/jira/browse/LUCENE-3420?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Uwe Schindler updated LUCENE-3420:
----------------------------------

    Attachment: LUCENE-3420.patch

Here a patch that the assertion status of the actual class is used. If you 
disable assertions for your own code, but leave assertions in Lucene enabled, 
the failure will not trigger. This is the more correct approach. The reflection 
check should use the subclass' assertion status to enable/disable the check.

> assertion derived class modifier from parent class silently breaks backward 
> compatibility
> -----------------------------------------------------------------------------------------
>
>                 Key: LUCENE-3420
>                 URL: https://issues.apache.org/jira/browse/LUCENE-3420
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: core/index
>    Affects Versions: 3.3
>            Reporter: John Wang
>         Attachments: LUCENE-3420.patch
>
>
> after upgrading to lucene 3.1+, I see this in my log:
> java.lang.AssertionError: TokenStream implementation classes or at least 
> their incrementToken() implementation must be final
>         at 
> org.apache.lucene.analysis.TokenStream.assertFinal(TokenStream.java:117)
>         at org.apache.lucene.analysis.TokenStream.<init>(TokenStream.java:92)
> Turns out I derived TokenStream and my class was not declared final.
> This silently breaks backward compatibility via reflection, scary...
> I think doing this sort of check is fine, but throwing an 
> java.lang.AssertionError in this case is too stringent. 
> This is a style check against lucene clients, a error log would be fine, but 
> throwing an Error is too much.
> See constructor implementation for: 
> http://svn.apache.org/viewvc/lucene/dev/branches/branch_3x/lucene/src/java/org/apache/lucene/analysis/TokenStream.java?view=markup

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

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

Reply via email to