[ https://issues.apache.org/jira/browse/LUCENE-7027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Uwe Schindler updated LUCENE-7027: ---------------------------------- Attachment: LUCENE-7027-master.patch Patch for master. I am not sure if this affects performance because we have the extra check on getBytes(). > NumericTokenStream doesn't implement end() correctly > ---------------------------------------------------- > > Key: LUCENE-7027 > URL: https://issues.apache.org/jira/browse/LUCENE-7027 > Project: Lucene - Core > Issue Type: Bug > Affects Versions: 5.5, master, 6.0 > Reporter: Michael McCandless > Assignee: Uwe Schindler > Attachments: LUCENE-7027-master.patch > > > This small test: > {noformat} > public void testCloneFullPrecisionToken() throws Exception { > FieldType fieldType = new FieldType(IntField.TYPE_NOT_STORED); > fieldType.setNumericPrecisionStep(Integer.MAX_VALUE); > Field field = new IntField("field", 17, fieldType); > TokenStream tokenStream = new CachingTokenFilter(field.tokenStream(null, > null)); > assertTrue(tokenStream.incrementToken()); > } > {noformat} > hits this unexpected exception: > {noformat} > There was 1 failure: > 1) > testCloneFullPrecisionToken(org.apache.lucene.analysis.TestNumericTokenStream) > java.lang.IllegalArgumentException: Illegal shift value, must be 0..31; got > shift=2147483647 > at > __randomizedtesting.SeedInfo.seed([2E1E93EF810CB5F7:EF1304A849574BC7]:0) > at > org.apache.lucene.util.NumericUtils.intToPrefixCodedBytes(NumericUtils.java:175) > at > org.apache.lucene.util.NumericUtils.intToPrefixCoded(NumericUtils.java:133) > at > org.apache.lucene.analysis.NumericTokenStream$NumericTermAttributeImpl.getBytesRef(NumericTokenStream.java:165) > at > org.apache.lucene.analysis.NumericTokenStream$NumericTermAttributeImpl.clone(NumericTokenStream.java:217) > at > org.apache.lucene.analysis.NumericTokenStream$NumericTermAttributeImpl.clone(NumericTokenStream.java:148) > at > org.apache.lucene.util.AttributeSource$State.clone(AttributeSource.java:55) > at > org.apache.lucene.util.AttributeSource.captureState(AttributeSource.java:288) > at > org.apache.lucene.analysis.CachingTokenFilter.fillCache(CachingTokenFilter.java:96) > at > org.apache.lucene.analysis.CachingTokenFilter.incrementToken(CachingTokenFilter.java:70) > at > org.apache.lucene.analysis.TestNumericTokenStream.testCloneFullPrecisionToken(TestNumericTokenStream.java:138) > {noformat} > because {{CachingTokenFilter}} expects that it can {{captureState}} after > calling {{end}} but {{NumericTokenStream}} gets angry about this. -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org