Jeff Storck commented on NIFI-4872:

[~pvillard] Yes, as I started thinking about the implementation of the 
annotation, it makes sense to make it more like @WritesAttribute, where an 
annotation would be created per resource that can fall under the "high usage" 
category.  The annotation will have "resource" and "scenario" values.  There 
will be an enum that backs the allowable resource values that supply default 
scenario descriptions, but of course the developer can override those to 
describe specific scenarios.

At least, those are my current thoughts.

> NIFI component high resource usage annotation
> ---------------------------------------------
>                 Key: NIFI-4872
>                 URL: https://issues.apache.org/jira/browse/NIFI-4872
>             Project: Apache NiFi
>          Issue Type: New Feature
>          Components: Core Framework, Core UI
>    Affects Versions: 1.5.0
>            Reporter: Jeff Storck
>            Assignee: Jeff Storck
>            Priority: Critical
> NiFi Processors currently have no means to relay whether or not they have may 
> be resource intensive or not. The idea here would be to introduce an 
> Annotation that can be added to Processors that indicate they may cause high 
> memory, disk, CPU, or network usage. For instance, any Processor that reads 
> the FlowFile contents into memory (like many XML Processors for instance) may 
> cause high memory usage. What ultimately determines if there is high 
> memory/disk/cpu/network usage will depend on the FlowFiles being processed. 
> With many of these components in the dataflow, it increases the risk of 
> OutOfMemoryErrors and performance degradation.
> The annotation should support one or more values from a fixed list of: CPU, 
> Disk, Memory, Network.
> By marking components with this new Annotation, we can update the generated 
> Processor documentation to include this fact.

This message was sent by Atlassian JIRA

Reply via email to