Hi Mark,

Is there an API for this that can filter by processors within a process
group? Would it be the one that provides the data for this portion of the
UI?
[image: image.png]
Thanks,
Eric

On Tue, Apr 5, 2022 at 3:29 PM Mark Payne <[email protected]> wrote:

> Eric,
>
> Once a processor state transitions to stopped, it may still have active
> threads that haven’t completed yet. You’ll need to wait until the processor
> is stopped and the active threads on the processor reach 0.
>
> Thanks
> -Mark
>
> On Apr 5, 2022, at 6:25 PM, Eric Secules <[email protected]> wrote:
>
> Hello,
>
> I have this program which stops and deletes flows from NiFi, when we're
> done with them and once in a long while we fail this operation because of
> this:
>
> 2022-04-05 13:03:18,569 WARN [NiFi Web Server-281]
>> o.a.n.w.a.c.IllegalStateExceptionMapper java.lang.IllegalStateException:
>> Destination of Connection (ce5a7658-59db-360f-f978-f275e69c072e) is
>> running. Returning Conflict response.
>> java.lang.IllegalStateException: Destination of Connection
>> (ce5a7658-59db-360f-f978-f275e69c072e) is running
>>         at
>> org.apache.nifi.connectable.StandardConnection.verifyCanDelete(StandardConnection.java:508)
>>         at
>> org.apache.nifi.groups.StandardProcessGroup.removeConnection(StandardProcessGroup.java:1270)
>>         at
>> org.apache.nifi.groups.StandardProcessGroup.removeComponents(StandardProcessGroup.java:864)
>>         at
>> org.apache.nifi.groups.StandardProcessGroup.removeProcessGroup(StandardProcessGroup.java:851)
>>         at
>> org.apache.nifi.groups.StandardProcessGroup.removeComponents(StandardProcessGroup.java:897)
>>         at
>> org.apache.nifi.groups.StandardProcessGroup.removeProcessGroup(StandardProcessGroup.java:851)
>>         at
>> org.apache.nifi.web.dao.impl.StandardProcessGroupDAO.deleteProcessGroup(StandardProcessGroupDAO.java:528)
>>         at
>> org.apache.nifi.web.dao.impl.StandardProcessGroupDAO$$FastClassBySpringCGLIB$$10a99b47.invoke(<generated>)
>
>
> We run version 1.14.0 right now and I couldn't find any relevant bug
> reports in Nifi's Jira solved between this version and the current. The
> closest I got was https://issues.apache.org/jira/browse/NIFI-1777
>
> When deactivating and removing flows from the canvas we follow this
> procedure:
>
>
>    - Stop the top level process group (which might contain 400-2000
>    processors), using the equivalent API of right clicking on the process
>    group and selecting stop
>    - Wait for stopped state on that process group (we assume this means
>    that the stopped state is persisted on all contained processors and process
>    groups)
>    - Traverse inner process groups, for each:
>       - deactivate controller services and wait for deactivated state
>       - delete templates associated with the process group
>       - delete parameter context
>    - Delete top level process group  <---- error happens here
>
> Upon noticing the error I go into the NiFi canvas and see that all
> processors are either stopped or in error.
>
> I can cause the same IllegalStateException through the canvas and get the
> same error message, but when I go search for Connection
> (ce5a7658-59db-360f-f978-f275e69c072e), all the processors and input
> ports are rightfully in the error state (missing parameters, deactivated
> controller services) I can work around and delete all the components
> individually, and then continue to remove the rest of the flow, it's almost
> as if there's some lingering state that the processor is running and that's
> what's preventing me from removing a connection that stems from it.
>
>
> Thanks,
> Eric
>
>
>

Reply via email to