Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-2293

Division by Zero Exception

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 0.9, 0.10.0
    • 0.9.1, 0.10.0
    • Runtime / Task
    • None

    Description

      I am basically running an algorithm that simulates a Gather Sum Apply Iteration that performs Traingle Count (Why simulate it? Because you just need a superstep -> useless overhead if you use the runGatherSumApply function in Graph).
      What happens, at a high level:
      1). Select neighbors with ID greater than the one corresponding to the current vertex;
      2). Propagate the received values to neighbors with higher ID;
      3). compute the number of triangles by checking whether

      trgVertex.getValue().get(srcVertex.getId());

      As you can see, I do not perform any division at all;
      code is here: https://github.com/andralungu/gelly-partitioning/blob/master/src/main/java/example/GSATriangleCount.java

      Now for small graphs, 50MB max, the computation finishes nicely with the correct result. For a 10GB graph, however, I got this:

      java.lang.ArithmeticException: / by zero
      at org.apache.flink.runtime.operators.hash.MutableHashTable.insertIntoTable(MutableHashTable.java:836)
      at org.apache.flink.runtime.operators.hash.MutableHashTable.buildTableFromSpilledPartition(MutableHashTable.java:819)
      at org.apache.flink.runtime.operators.hash.MutableHashTable.prepareNextPartition(MutableHashTable.java:508)
      at org.apache.flink.runtime.operators.hash.MutableHashTable.nextRecord(MutableHashTable.java:544)
      at org.apache.flink.runtime.operators.hash.NonReusingBuildFirstHashMatchIterator.callWithNextKey(NonReusingBuildFirstHashMatchIterator.java:104)
      at org.apache.flink.runtime.operators.MatchDriver.run(MatchDriver.java:173)
      at org.apache.flink.runtime.operators.RegularPactTask.run(RegularPactTask.java:496)
      at org.apache.flink.runtime.operators.RegularPactTask.invoke(RegularPactTask.java:362)
      at org.apache.flink.runtime.taskmanager.Task.run(Task.java:559)
      at java.lang.Thread.run(Thread.java:722)

      see the full log here: https://gist.github.com/andralungu/984774f6348269df7951

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            sewen Stephan Ewen
            andralungu Andra Lungu
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment