Billie Rinaldi created MAPREDUCE-7265:
-----------------------------------------

             Summary: Buffer corruption with spill percent 1.0
                 Key: MAPREDUCE-7265
                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7265
             Project: Hadoop Map/Reduce
          Issue Type: Bug
            Reporter: Billie Rinaldi
            Assignee: Billie Rinaldi


I encountered a variety of issues on a cluster where the spill percent was set 
to 1.0. Under some conditions, MapTask will not detect that its in memory spill 
buffer is already full and will keep collecting k/v pairs, causing corruption 
of the buffer.

I have been able to track at least some of the problems to a condition where 
adding a key/value pair to the buffer fills the buffer with fewer than 16 bytes 
remaining (the kv metadata size). When this happens, the next metadata index 
(kvindex) passes over the data index (bufindex), which causes some of the index 
and length calculations to be incorrect in the collect and write methods. It 
can allow data to keep being written to the buffer even though it is already 
full, with data overwriting metadata in the buffer and vice versa. I have seen 
this manifest as the NegativeArraySizeException seen in MAPREDUCE-6907 as well 
as in ArrayIndexOutOfBoundsException and EOFException.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: mapreduce-dev-unsubscr...@hadoop.apache.org
For additional commands, e-mail: mapreduce-dev-h...@hadoop.apache.org

Reply via email to