Uploaded image for project: 'Oozie'
  1. Oozie
  2. OOZIE-2406

Completely rewrite GraphGenerator code

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 4.2.0
    • 5.0.0b1
    • None
    • None

    Description

      The Web UI currently generates a graph of the workflow DAG as a png image that it can show to the user (GraphGenerator class). Unfortunately, there are a number of downsides to the current implementation:

      1. The image is generated server-side, which doesn't scale well and eats up lots of memory
        • To help combat this issue, we only generate graphs for workflows with less than 25 nodes and we disabled the refresh button in the UI
      2. It's slow
      3. It uses a library (net.sf.jung from http://jung.sourceforge.net), which hasn't been updated since 2010.
        • This library also has a dependency on a fork of Commons-Collections (net.sourceforge.collections from http://sourceforge.net/projects/collections/), which similarly hasn't been updated since 2010. This is a problem because we can't update Commons-Collections when there are security concerns such as COLLECTIONS-580 (though Oozie is not susceptible to this attack).

      It would be good to do a complete rewrite, using a different library and remove Jung and the Commons-Collections fork. Whatever we choose, it should an svg which will draw the image on the browser.

      Attachments

        1. Screen Shot 2017-10-02 at 1.56.33 PM.png
          90 kB
          Andras Piros
        2. Screen Shot 2017-10-02 at 1.55.58 PM.png
          154 kB
          Andras Piros
        3. OOZIE-2406.013.patch
          132 kB
          Andras Piros
        4. OOZIE-2406.012.patch
          132 kB
          Andras Piros
        5. OOZIE-2406.012.patch
          132 kB
          Andras Piros
        6. OOZIE-2406.012.patch
          132 kB
          Andras Piros
        7. OOZIE-2406.012.patch
          132 kB
          Andras Piros
        8. OOZIE-2406.012.patch
          132 kB
          Andras Piros
        9. OOZIE-2406.011.patch
          132 kB
          Andras Piros
        10. OOZIE-2406.010.patch
          148 kB
          Andras Piros
        11. OOZIE-2406.009.patch
          147 kB
          Andras Piros
        12. OOZIE-2406.008.patch
          144 kB
          Andras Piros
        13. OOZIE-2406.007.patch
          143 kB
          Andras Piros
        14. OOZIE-2406.006.patch
          150 kB
          Andras Piros
        15. OOZIE-2406.005.patch
          108 kB
          Andras Piros
        16. OOZIE-2406.004.patch
          132 kB
          Andras Piros
        17. OOZIE-2406.004.patch
          132 kB
          Andras Piros
        18. jung-many-nodes.png
          102 kB
          Andras Piros
        19. graphviz-many-nodes.png
          95 kB
          Andras Piros
        20. graphviz-50-action-nodes.png
          88 kB
          Andras Piros
        21. graphviz-25-action-nodes.png
          95 kB
          Andras Piros
        22. graphviz-10-action-nodes.png
          88 kB
          Andras Piros

        Issue Links

          Activity

            People

              andras.piros Andras Piros
              rkanter Robert Kanter
              Votes:
              0 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: