ExecuteStateless

Description:

Runs the configured dataflow using the Stateless NiFi engine. Please see documentation in order to understand the differences between the traditional NiFi runtime engine and the Stateless NiFi engine. If the Processor is configured with an incoming connection, the incoming FlowFiles will be queued up into the specified Input Port in the dataflow. Data that is transferred out of the flow via an Output Port will be sent to the 'output' relationship, and an attribute will be added to indicate which Port that FlowFile was transferred to. See Additional Details for more information.

Additional Details...

Tags:

No tags provided.

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
Dataflow Specification StrategyUse Local File
  • Use Local File or URL Dataflow to run is stored as a file on the NiFi server or at a URL that is accessible to the NiFi server
  • Use NiFi Registry Dataflow to run is stored in NiFi Registry
Specifies how the Processor should obtain a copy of the dataflow that it is to run
Dataflow File/URLThe filename or URL that specifies the dataflow that is to be run

This property requires exactly one resource to be provided. That resource may be any of the following types: file, URL.


This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use Local File".
Registry URLThe URL of the NiFi Registry to retrieve the flow from

This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use NiFi Registry".
Registry SSL Context ServiceController Service API:
SSLContextService
Implementations: StandardSSLContextService
StandardRestrictedSSLContextService
The SSL Context Service to use for interacting with the NiFi Registry

This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use NiFi Registry".
Communications Timeout15 secsSpecifies how long to wait before timing out when attempting to communicate with NiFi Registry

This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use NiFi Registry".
Registry BucketThe name of the Bucket in the NiFi Registry that the flow should retrieved from

This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use NiFi Registry".
Flow NameThe name of the flow in the NiFi Registry

This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use NiFi Registry".
Flow VersionThe version of the flow in the NiFi Registry that should be retrieved. If not specified, the latest version will always be used.

This Property is only considered if the <Dataflow Specification Strategy> Property has a value of "Use NiFi Registry".
Input PortSpecifies the name of the Input Port to send incoming FlowFiles to. This property is required if this processor has any incoming connections.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Failure PortsA comma-separated list of the names of Output Ports that exist at the root level of the dataflow. If any FlowFile is routed to one of the Ports whose name is listed here, the dataflow will be considered a failure, and the incoming FlowFile (if any) will be routed to 'failure'. If not specified, all Output Ports will be considered successful.
Content Storage StrategyStore Content on Disk
  • Store Content on Heap The FlowFile content will be stored on the NiFi JVM's heap. This is the most efficient option for small FlowFiles but can quickly exhaust the heap with larger FlowFiles, resulting in Out Of Memory Errors and node instability.
  • Store Content on Disk The FlowFile content will be stored on disk, within the configured Work Directory. The content will still be cleared between invocations and will not be persisted across restarts.
Specifies where the content of FlowFiles that the Stateless dataflow is operating on should be stored. Note that the data is always considered temporary and may be deleted at any time. It is not intended to be persisted across restarted.
Max Input FlowFile Size1 MBThis Processor is configured to load all incoming FlowFiles into memory. Because of that, it is important to limit the maximum size of any incoming FlowFile that would get loaded into memory, in order to prevent Out Of Memory Errors and excessive Garbage Collection. Any FlowFile whose content size is greater than the configured size will be routed to failure and not sent to the Stateless Engine.

This Property is only considered if the <Content Storage Strategy> Property has a value of "Store Content on Heap".
Dataflow Timeout60 secIf the flow does not complete within this amount of time, the incoming FlowFile, if any, will be routed to the timeout relationship,the dataflow will be cancelled, and the invocation will end.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
NAR Directory./libThe directory to retrieve NAR's from
Work Directory./workA directory that can be used to create temporary files, such as expanding NAR files, temporary FlowFile content, caching the dataflow, etc.
Max Ingest FlowFilesDuring the course of a stateless dataflow, some processors may require more data than they have available in order to proceed. For example, MergeContent may require a minimum number of FlowFiles before it can proceed. In this case, the dataflow may bring in additional data from its source Processor. However, this data may all be held in memory, so this property provides a mechanism for limiting the maximum number of FlowFiles that the source Processor can ingest before it will no longer be triggered to ingest additional data.
Max Ingest Data SizeDuring the course of a stateless dataflow, some processors may require more data than they have available in order to proceed. For example, MergeContent may require a minimum number of FlowFiles before it can proceed. In this case, the dataflow may bring in additional data from its source Processor. However, this data may all be held in memory, so this property provides a mechanism for limiting the maximum amount of data that the source Processor can ingest before it will no longer be triggered to ingest additional data.
Stateless SSL Context ServiceController Service API:
SSLContextService
Implementations: StandardSSLContextService
StandardRestrictedSSLContextService
The SSL Context to use as the Stateless System SSL Context
Krb5 Conf FileThe KRB5 Conf file to use for configuring components that rely on Kerberos

This property requires exactly one file to be provided..
Status Task IntervalThe Stateless engine periodically logs the status of the dataflow's processors. This property allows the interval to be changed, or the status logging to be skipped altogether if the property is not set.

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.

NameValueDescription
Any Parameter nameAny valueAny dynamic property that is added will be provided to the stateless flow as a Parameter. The name of the property will be the name of the Parameter, and the value of the property will be the value of the Parameter. Because Parameter values may or may not be sensitive, all dynamic properties will be considered sensitive in order to protect their integrity.
Supports Expression Language: false

Relationships:

NameDescription
timeoutIf the dataflow fails to complete in the configured amount of time, any incoming FlowFile will be routed to this relationship
failureIf the dataflow fails to process an incoming FlowFile, that FlowFile will be routed to this relationship
originalFor any incoming FlowFile that is successfully processed, the original incoming FlowFile will be transferred to this Relationship
outputAny FlowFiles that are transferred to an Output Port in the configured dataflow will be routed to this Relationship

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
output.port.nameThe name of the Output Port that the FlowFile was transferred to
failure.port.nameIf one or more FlowFiles is routed to one of the Output Ports that is configured as a Failure Port, the input FlowFile (if any) will have this attribute added to it, indicating the name of the Port that caused the dataflow to be considered a failure.

State management:

This component does not store state.

Restricted:

This component requires access to restricted components regardless of restriction.

Input requirement:

This component allows an incoming relationship.

System Resource Considerations:

ResourceDescription
CPUAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.
DISKAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.
MEMORYAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.
NETWORKAn instance of this component can cause high usage of this system resource. Multiple instances or high concurrency settings may result a degradation of performance.