[ https://issues.apache.org/jira/browse/LUCENE-2084?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12794636#action_12794636 ]
Uwe Schindler commented on LUCENE-2084: --------------------------------------- In my opinion in the committed patch and also before there is an error in handling the ByteBuffer/CharBuffer arrayOffset() value. It calculated the length using limit()-arrayOffset() which is wrong. The length available in the buffer is simple remaining() - this is how all other encoders/decoders in the JDK work (see src). array() and arrayOffset() simply give the offset of the wrapped array, but do not say anything about the length. The starting position to decode must be also customized and is arrayOffset()+position() - The code fails, if you wrap an array with offset!=0 and some length or if you pass an not 0-positioned buffer. For correct usage of NIO Buffers see my latest improvements in the payload.IdentityEncoder (issue LUCENE-2157). Any code getting a buffer for encoding/decoding should assume, that it should read from the buffer starting at postion(), reading remaining() items. > remove Byte/CharBuffer wrapping for collation key generation > ------------------------------------------------------------ > > Key: LUCENE-2084 > URL: https://issues.apache.org/jira/browse/LUCENE-2084 > Project: Lucene - Java > Issue Type: Improvement > Components: contrib/* > Reporter: Robert Muir > Assignee: Robert Muir > Priority: Minor > Fix For: 3.1 > > Attachments: collation.benchmark.tar.bz2, LUCENE-2084.patch, > LUCENE-2084.patch, TopTFWikipediaWords.tar.bz2 > > > We can remove the overhead of ByteBuffer and CharBuffer wrapping in > CollationKeyFilter and ICUCollationKeyFilter. > this patch moves the logic in IndexableBinaryStringTools into char[],int,int > and byte[],int,int based methods, with the previous Byte/CharBuffer methods > delegating to these. > Previously, the Byte/CharBuffer methods required a backing array anyway. -- 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