You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Grant Ingersoll (JIRA)" <ji...@apache.org> on 2013/08/08 21:18:50 UTC
[jira] [Created] (LUCENE-5160) NIOFSDirectory, SimpleFSDirectory
(others?) don't properly handle valid file and FileChannel read conditions
Grant Ingersoll created LUCENE-5160:
---------------------------------------
Summary: 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: 4.4, 5.0
Reporter: Grant Ingersoll
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-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org