You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Stephan Ewen (JIRA)" <ji...@apache.org> on 2015/08/06 19:59:04 UTC

[jira] [Resolved] (FLINK-1013) ArithmeticException: / by zero in MutableHashTable

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

Stephan Ewen resolved FLINK-1013.
---------------------------------
       Resolution: Fixed
         Assignee: Stephan Ewen
    Fix Version/s: 0.9

Fixed already a while back by delegating computation to existing utility function that is also used to build the initial table.

> ArithmeticException: / by zero in MutableHashTable
> --------------------------------------------------
>
>                 Key: FLINK-1013
>                 URL: https://issues.apache.org/jira/browse/FLINK-1013
>             Project: Flink
>          Issue Type: Bug
>            Reporter: Till Rohrmann
>            Assignee: Stephan Ewen
>             Fix For: 0.9
>
>
> I encountered a division by zero exception in the MutableHashTable. It happened when I joined two datasets of relatively big records (approx. 40-50 MB I think). When joining them the buildTableFromSpilledPartition method of the MutableHashTable is called. In case that the available buffers are smaller than the needed number of buffers, the mutable hash table will calculate the bucket count
> {code}
> bucketCount = (int) (((long) totalBuffersAvailable) * RECORD_TABLE_BYTES / (avgRecordLenPartition + RECORD_OVERHEAD_BYTES));
> {code}
> If the average record length is sufficiently large, then the bucket count will be 0. Initializing the hash table with a 0 bucket count will cause then the division by 0 exception. I don't know whether this problem can be mitigated but it should at least throw a meaningful exception instead of the ArithmeticException.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)