[
https://issues.apache.org/jira/browse/NIFI-9309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Mark Payne updated NIFI-9309:
-----------------------------
Status: Patch Available (was: Open)
> 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
> Time Spent: 10m
> 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.3.4#803005)