[ https://issues.apache.org/jira/browse/LUCENE-3420?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13099241#comment-13099241 ]
Robert Muir commented on LUCENE-3420: ------------------------------------- {quote} This silently breaks backward compatibility via reflection, scary... {quote} This is not true, there is nothing silent about it. It was listed in the backwards compatibility breaks section of 3.1: {noformat} Analyzer and TokenStream base classes now have an assertion in their ctor, that check subclasses to be final or at least have final implementations of incrementToken(), tokenStream(), and reusableTokenStream(). {noformat} > 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 > > 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