Uploaded image for project: 'Hadoop YARN'
  1. Hadoop YARN
  2. YARN-9019

Ratio calculation of ResourceCalculator implementations could return NaN

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 3.3.0, 2.10.3, 3.2.5
    • None
    • None
    • Reviewed

    Description

      Found out that ResourceCalculator.ratio (with implementors DefaultResourceCalculator and DominantResourceCalculator) can produce NaN (Not-A-Number) as a result.

      This is because IEEE 754 defines 1.0 / 0.0 as Infinity and -1.0 / 0.0 as -Infinity and 0.0 / 0.0 as NaN, see here: https://stackoverflow.com/a/14138032/1106893 

      I think it's very dangerous to rely on NaN can be returned from ratio calculations and this could have side-effects.

      When ratio calculates the result and if both the numerator and the denominator is zero, we should use 0 as a result, I think.

      Attachments

        1. YARN-9019.001.patch
          5 kB
          Szilard Nemeth

        Issue Links

          Activity

            People

              snemeth Szilard Nemeth
              snemeth Szilard Nemeth
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: