You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Mark Payne (Jira)" <ji...@apache.org> on 2021/11/30 17:53:00 UTC

[jira] [Updated] (NIFI-9309) Improve UI responsiveness

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

Mark Payne updated NIFI-9309:
-----------------------------
    Fix Version/s: 1.15.0

> Improve UI responsiveness
> -------------------------
>
>                 Key: NIFI-9309
>                 URL: https://issues.apache.org/jira/browse/NIFI-9309
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Core Framework, Core UI
>            Reporter: Mark Payne
>            Assignee: Mark Payne
>            Priority: Major
>             Fix For: 1.15.0
>
>          Time Spent: 1h 50m
>  Remaining Estimate: 0h
>
> There are a few different small improvements that can be made to the backend that will result in far better UI performance in some situations:
>  * Include a uiOnly query parameter when the request is made to fetch the flow for a ProcessGroup. This can filter out specific fields such as processor properties & property descriptors. If the UI passes in this query parameter, we can avoid populating much of the DTO objects. This means the request is much smaller so in a cluster, it's much less to deserialize/parse/serialize when merging responses, and it means that the UI has a lot less json to parse.
>  * When attempting to access the Variable Registry for a given Process Group, we are very inefficient in how we determine which components are affected by a given variable. Instead of re-compiling the Expression Language for every property, we should do it only once and make that a part of the PropertyConfiguration object and make use of that.
>  * When obtaining the bulletins for a given component, we are also very inefficient. We iterate over many RingBuffer objects, filtering entities for each. But if we know the component & process group ID of the component whose bulletins we are interested in, we can instead just jump straight to the appropriate RingBuffer by fetching it from the Map.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)