[ https://issues.apache.org/jira/browse/LUCENE-10052?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17404575#comment-17404575 ]
ASF subversion and git services commented on LUCENE-10052: ---------------------------------------------------------- Commit 88588e3deaa13c071ec857c24ecf04c6e779faaf in lucene's branch refs/heads/main from Michael McCandless [ https://gitbox.apache.org/repos/asf?p=lucene.git;h=88588e3 ] LUCENE-10052: cutover more tests to newBytesRef, and finally catches a fly (FSTTermsReader.IntersectEnum was illegally ignoring BytesRef.offset, yay!) (#258) > Add LuceneTestCase.newBytesRef methods > -------------------------------------- > > Key: LUCENE-10052 > URL: https://issues.apache.org/jira/browse/LUCENE-10052 > Project: Lucene - Core > Issue Type: Improvement > Reporter: Michael McCandless > Assignee: Michael McCandless > Priority: Major > Time Spent: 1h > Remaining Estimate: 0h > > {{BytesRef}} is a super useful Lucene utility class, referencing a slice > (offset + length) of an underlying possibly larger {{byte[]}}. We use it all > over the place in our APIs. > But the {{offset}} is trappy – we programmers sometimes forget to add the > {{offset}} when accessing the underlying bytes. Or sometimes we accidentally > add it twice, as just happened in our (Amazon Product Search) Lucene usage. > Such errors are devious because they often do not matter since typically > {{offset}} will be zero, but then suddenly when the rare {{BytesRef}} arrives > with non-zero {{offset}}, BOOM. > I think we should improve our testing here by making it simple to randomize a > {{BytesRef}} creation to sometimes use non-zero offset and also to sometimes > leave extra padding on the end of the underlying {{byte[]}} to catch another > trappy case where we use {{bytesRef.bytes.length}} when we were supposed to > use {{bytesRef.length}}. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@lucene.apache.org For additional commands, e-mail: issues-h...@lucene.apache.org