[ https://issues.apache.org/jira/browse/LUCENE-5160?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13733921#comment-13733921 ]
ASF subversion and git services commented on LUCENE-5160: --------------------------------------------------------- Commit 1512016 from [~gsingers] in branch 'dev/branches/branch_4x' [ https://svn.apache.org/r1512016 ] LUCENE-5160: merge from trunk > NIOFSDirectory, SimpleFSDirectory (others?) don't properly handle valid file > and FileChannel read conditions > ------------------------------------------------------------------------------------------------------------ > > Key: LUCENE-5160 > URL: https://issues.apache.org/jira/browse/LUCENE-5160 > Project: Lucene - Core > Issue Type: Bug > Affects Versions: 5.0, 4.4 > Reporter: Grant Ingersoll > Assignee: Grant Ingersoll > Attachments: LUCENE-5160.patch > > > Around line 190 of NIOFSDirectory, the loop to read in bytes doesn't properly > handle the -1 condition that can be returned from FileChannel.read(). If it > returns -1, then it will move the file pointer back and you will enter an > infinite loop. SimpleFSDirectory displays the same characteristics, although > I have only seen the issue on NIOFSDirectory. > The code in question from NIOFSDirectory: > {code} > try { > while (readLength > 0) { > final int limit; > if (readLength > chunkSize) { > // LUCENE-1566 - work around JVM Bug by breaking > // very large reads into chunks > limit = readOffset + chunkSize; > } else { > limit = readOffset + readLength; > } > bb.limit(limit); > int i = channel.read(bb, pos); > pos += i; > readOffset += i; > readLength -= i; > } > {code} -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators 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