You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Andras Piros (JIRA)" <ji...@apache.org> on 2017/10/02 11:55:02 UTC

[jira] [Commented] (OOZIE-2406) Completely rewrite GraphGenerator code

    [ https://issues.apache.org/jira/browse/OOZIE-2406?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16187895#comment-16187895 ] 

Andras Piros commented on OOZIE-2406:
-------------------------------------

Thanks [~rkanter] for the {{Instrumentation}} intro :)

Following changes in this patchset:
* {{Instrumentation.Counter}}, {{Instrumentation.Cron}} events added for both {{OutputFormat}}-specific and aggregated cases
* {{OutputFormat.SVG}} added, it's used as the default one from UI
* now-unnecessary {{jung}} and obscure {{commons-collections}} dependencies removed
* because of {{graphviz-java}}'s {{GraphvizV8Engine}} uses {{com.eclipsesource.v8.V8}}, which uses thread local variables, we need that all rendering be run using the very same thread. This is achieved w/ a single-thread {{ExecutorService}} inside {{GraphivizRenderer#EXECUTOR_SERVICE}}

> Completely rewrite GraphGenerator code
> --------------------------------------
>
>                 Key: OOZIE-2406
>                 URL: https://issues.apache.org/jira/browse/OOZIE-2406
>             Project: Oozie
>          Issue Type: New Feature
>    Affects Versions: 4.2.0
>            Reporter: Robert Kanter
>            Assignee: Andras Piros
>             Fix For: 5.0.0
>
>         Attachments: graphviz-10-action-nodes.png, graphviz-25-action-nodes.png, graphviz-50-action-nodes.png, graphviz-many-nodes.png, jung-many-nodes.png, OOZIE-2406.004.patch, OOZIE-2406.004.patch, OOZIE-2406.005.patch, OOZIE-2406.006.patch
>
>
> 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:
> # 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
> # It's slow
> # 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.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)