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.

Display NameAPI NameDefault ValueAllowable ValuesDescription
Dataflow Specification StrategyDataflow Specification StrategyUse Local File or URL
  • 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/URLDataflow FileThe 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: URL, file.


This Property is only considered if the [Dataflow Specification Strategy] Property has a value of "Use Local File or URL".
Registry URLRegistry 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 ServiceRegistry 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 TimeoutCommunications 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 BucketRegistry 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 NameFlow 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 VersionFlow 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 PortInput 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 PortsFailure 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 StrategyContent 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 SizeMax 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 TimeoutDataflow 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 DirectoryNAR Directory./libThis directory has three roles: 1) it contains the NiFi Stateless NAR and other necessary libraries required for the Stateless engine to be bootstrapped, 2) it can contain extensions that should be loaded by the Stateless engine, 3) it is used by the Stateless engine to download extensions into.
Additional NAR Directoriesadditional-nar-directoriesA comma-separated list of paths for directories that contain extensions that should be loaded by the stateless engine. The engine will not download any extensions into these directories or write to them but will read any NAR files that are found within these directories. The engine will not recurse into subdirectories of these directories.
Work DirectoryWork 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 FlowFilesMax 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 SizeMax 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 ServiceStateless SSL Context ServiceController Service API:
SSLContextService
Implementations: StandardSSLContextService
StandardRestrictedSSLContextService
The SSL Context to use as the Stateless System SSL Context
Krb5 Conf FileKrb5 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 IntervalStatus 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:

Supports Sensitive Dynamic Properties: Yes

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.