[
https://issues.apache.org/jira/browse/NIFI-11556?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17752485#comment-17752485
]
ASF subversion and git services commented on NIFI-11556:
--------------------------------------------------------
Commit b3c620411a7fed46e4b2c18ab5a06d08032f954e in nifi's branch
refs/heads/main from Mark Payne
[ https://gitbox.apache.org/repos/asf?p=nifi.git;h=b3c620411a ]
NIFI-11556: Added ability to use a Process Group as a Stateless Flow
When shutting down FlowController, wait up to gracefulShutdownSeconds seconds
for the components to stop before shutting down thread pools. This allows for
asynchronous operations such as disableControllerServicesAsync to complete
during shutdown. Updated StandardStatelessFlow so that on shutdown it catches
more general Exception to ensure that shutdown succeeds
Ensure that Max Concurrent Tasks cannot be set less than 1 for stateless group;
fixed typo in ProcessGroupDTO's docs; on shutdown, we may need to disable
controller services asynchronously. At that point, the thread pool used to do
so may already be shutdown. If so, catch this and create a new single-thread
pool, disable the service, and immediately shutdown the pool. Also, if we fail
to disable services on shutdown of a stateless flow, instead of throwing an
Exception, just log it and move on - it doesn't make much sense for shutdown()
to throw an Exception in that case.
Updated system tests so that when emptying a queue, we check the result and if
the queue still has data (because a Processor hasn't acknowledged the data, for
example) then continue issuing request until the queue fully becomes empty.
When shutting down input/output ports for stateless group, ensure that we wait
for the ports' active threads to complete before returning
When stopping StatelessGroupNode, ensure that all the Processors, Controller
Services (even those not executed by the Stateless Engine) are stopped/disabled
before considering the Stateless Group to be fully STOPPED.
This closes #7253
Signed-off-by: David Handermann <[email protected]>
> Allow Process Group to be run as a Stateless Flow
> -------------------------------------------------
>
> Key: NIFI-11556
> URL: https://issues.apache.org/jira/browse/NIFI-11556
> Project: Apache NiFi
> Issue Type: New Feature
> Components: Core Framework, Core UI, Documentation & Website
> Reporter: Mark Payne
> Assignee: Mark Payne
> Priority: Major
> Fix For: 2.latest
>
> Time Spent: 4h 40m
> Remaining Estimate: 0h
>
> In version 1.15.0, we introduced the ExecuteStateless Processor. This was a
> quick win to allow running a flow using the Stateless Engine.
> Since then, we have seen many users make use of it. However, it was always
> intended as a stopgap until we had the ability to truly integrate Stateless
> groups with NiFi. This feature will allow for much better integration between
> the two, allowing users to configure a Process Group to run as a stateless
> flow.
> This will offer better performance by integrating directly with repositories
> and provide a much better user experience, not needing to save off the flow
> and configure a separate Processor to point to it, providing visibility into
> what's happening, better Provenance capabilities (as ExecuteStateless shows
> all events as having been performed by the one Processor), more seamless
> configuration, etc.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)