[
https://issues.apache.org/jira/browse/MAPREDUCE-5288?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Karthik Kambatla reassigned MAPREDUCE-5288:
-------------------------------------------
Assignee: Karthik Kambatla
> ResourceEstimator#getEstimatedTotalMapOutputSize suffers from divide by zero
> issues
> -----------------------------------------------------------------------------------
>
> Key: MAPREDUCE-5288
> URL: https://issues.apache.org/jira/browse/MAPREDUCE-5288
> Project: Hadoop Map/Reduce
> Issue Type: Bug
> Components: mrv1
> Affects Versions: 1.2.0
> Reporter: Harsh J
> Assignee: Karthik Kambatla
>
> The computation in the above mentioned class-method is below:
> {code}
> long estimate = Math.round(((double)inputSize *
> completedMapsOutputSize * 2.0)/completedMapsInputSize);
> {code}
> Given
> http://docs.oracle.com/javase/6/docs/api/java/lang/Math.html#round(double),
> its possible that the returned estimate could be Long.MAX_VALUE if
> completedMapsInputSize is determined to be zero.
> This can be proven with a simple code snippet:
> {code}
> class Foo {
> public static void main(String... args) {
> long inputSize = 600L + 2;
> long estimate = Math.round(((double)inputSize *
> 1L * 2.0)/0L);
> System.out.println(estimate);
> }
> }
> {code}
> The above conveniently prints out: {{9223372036854775807}}, which is
> Long.MAX_VALUE (or 8 Exbibytes per MapReduce).
--
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