[ https://issues.apache.org/jira/browse/LUCENE-1926?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12759610#action_12759610 ]
Robert Muir commented on LUCENE-1926: ------------------------------------- Uwe, I think its a great idea to prevent future problems. The only thing i could add, maybe overkill, would be to actually zero out the term buffer in addition to clearAttributes() in the base test case. This might seem absurd, but I could have cached .termLength(), clearAttributes() only sets the length to zero, and a few analyzer tests only test for term text... In that case it might have still slipped by... > Back compat break with old next() consumer API > ---------------------------------------------- > > Key: LUCENE-1926 > URL: https://issues.apache.org/jira/browse/LUCENE-1926 > Project: Lucene - Java > Issue Type: Bug > Components: Analysis > Affects Versions: 2.9 > Reporter: Robert Muir > Attachments: CaptureStateTestcase.java, LUCENE-1926.patch > > > There is a bug that causes tokenstreams to return different results, > depending upon whether they are consumed with the incrementToken() api or the > next() api. > I found this because the Solr analysis tool in the admin page uses the next() > api, and i was seeing strange results. > I've created a test case to show the problem. when calling captureState(), > the current state is erased, but only when consuming with the next() api. > If I consume with incrementToken(), things work. > {code} > State tempState = captureState(); // after we capture state here, things get > strange. > String right = termAtt.term(); // when using old consumer API, this value is > wrong!!!! > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org