John Doe created MAPREDUCE-7089:
-----------------------------------
Summary: ReadMapper.doIO hangs with user misconfigured inputs
Key: MAPREDUCE-7089
URL: https://issues.apache.org/jira/browse/MAPREDUCE-7089
Project: Hadoop Map/Reduce
Issue Type: Bug
Components: client, test
Affects Versions: 2.5.0
Reporter: John Doe
When a user configures the bufferSize to be 0, the while loop in
TestDFSIO$ReadMapper.doIO function hangs endlessly.
This is because the loop stride, curSize is always 0, making the loop index
actualSize always less than the upper bound totalSize.
Here is the code snippet.
{code:java}
int bufferSize = DEFAULT_BUFFER_SIZE;
for(int i = 0; i < args.length; i++) { // parse command line
...
else if (args[i].equals("-bufferSize")) {
bufferSize = Integer.parseInt(args[++i]);
}
...
}
public Long doIO(Reporter reporter, String name, long totalSize) throws
IOException {
InputStream in = (InputStream)this.stream;
long actualSize = 0;
while (actualSize < totalSize) {
int curSize = in.read(buffer, 0, bufferSize);
if(curSize < 0) break;
actualSize += curSize;
reporter.setStatus("reading " + name + "@" + actualSize + "/" + totalSize +
" ::host = " + hostName);
}
return Long.valueOf(actualSize);
}
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]