Side note, that's the behavior I'd expect from a "stopping" processor but not one that's in the "stopped" state.
On Tue., Apr. 5, 2022, 4:07 p.m. Eric Secules, <[email protected]> wrote: > 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 >> >> >>
