[ 
https://issues.apache.org/jira/browse/MAPREDUCE-7052?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jason Lowe updated MAPREDUCE-7052:
----------------------------------
       Resolution: Fixed
     Hadoop Flags: Reviewed
    Fix Version/s: 2.7.6
                   2.8.4
                   2.9.1
                   2.10.0
                   3.0.1
                   3.1.0
           Status: Resolved  (was: Patch Available)

Thanks, [~pbacsko]!  I committed this to trunk, branch-3.1, branch-3.0, 
branch-3.0.1, branch-2, branch-2.9, branch-2.8, and branch-2.7.

> TestFixedLengthInputFormat#testFormatCompressedIn is flaky
> ----------------------------------------------------------
>
>                 Key: MAPREDUCE-7052
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7052
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: client, test
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>             Fix For: 3.1.0, 3.0.1, 2.10.0, 2.9.1, 2.8.4, 2.7.6
>
>         Attachments: MAPREDUCE-7052-001.patch, MAPREDUCE-7052-002.patch
>
>
> Sometimes the test case TestFixedLengthInputFormat#testFormatCompressedIn can 
> fail with the following error:
> {noformat}
> java.lang.OutOfMemoryError: Requested array size exceeds VM limit
>       at 
> org.apache.hadoop.mapred.TestFixedLengthInputFormat.runRandomTests(TestFixedLengthInputFormat.java:322)
>       at 
> org.apache.hadoop.mapred.TestFixedLengthInputFormat.testFormatCompressedIn(TestFixedLengthInputFormat.java:90)
> {noformat}
> *Root cause:* under special circumstances, the following line can return a 
> huge number:
> {noformat}
>           // Test a split size that is less than record len
>           numSplits = (int)(fileSize/Math.floor(recordLength/2));
> {noformat}
> For example, let {{seed}} be 2026428718. This causes {{recordLength}} to be 1 
> at iteration 19. {{Math.floor()}} returns negative Infinity, which becomes 
> positve infinity after the divison. Casting it to {{int}} yields 
> {{Integer.MAX_VALUE}}. Eventually we get an OOME because the test wants to 
> create a huge {{InputSplit}} array.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

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

Reply via email to