IndexOutOfBoundsException in FSEditLog
--------------------------------------

                 Key: HADOOP-4999
                 URL: https://issues.apache.org/jira/browse/HADOOP-4999
             Project: Hadoop Core
          Issue Type: Bug
          Components: dfs
            Reporter: Boris Shkolnik


when we go over a collection of editStreams in FSEditLog::logEdit we 
pre-calculate number of iterations for the "for loop":
int numEditStreams = editStreams.size();
for (int idx = 0; idx < numEditStreams(); idx++) {
...
processIOError(idx);
...
}

but there is a possibility of an IOError that will call processIOError(idx) 
which will remove an editStream from editStreams inside the loop, and that will 
cause IndexOutOfBoundsException when end of collection is reached.

proposed fix: recalculate size of the collection on every iteration (it is very 
cheap, cause it just returns an integer).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to