Gabriel Orstadius-Bui created NIFI-15078:
--------------------------------------------

             Summary: Moving PG connected to component outside of snippet 
breaks Flow
                 Key: NIFI-15078
                 URL: https://issues.apache.org/jira/browse/NIFI-15078
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
            Reporter: Gabriel Orstadius-Bui


Normally, when using PUT snippets/\{id} to move a snippet to another PG, NiFi 
checks if the snippet has any "loose connections", which leads to this error: 
_"One or more components within the snippet is connected to a component outside 
of the snippet. Only a disconnected snippet may be moved."_

However, when moving a snippet with a sub-PG that has an input/output Port, and 
the components connected to the Port is not part of the snippet, NiFi 
"successfully" moves the snippet.

At first, everything seems to still be fine, but after a few minutes NiFi 
realizes the Flow is broken and NiFi becomes unusable (see exception below).

To resolve the issue, we had to revert the entire flow.json.gz to an archived 
older version.

Before moving snippets with PGs, out/in-going connections should be checked.

_"Caused by: java.lang.IllegalArgumentException: Connection has a source with 
identifier 9e8bb659-3fe7-3416-a19e-0b3dc4372ab3 but no component could be found 
in the Process Group with a corresponding identifier_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.addConnection(StandardVersionedComponentSynchronizer.java:3530)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.synchronizeConnections(StandardVersionedComponentSynchronizer.java:820)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.synchronize(StandardVersionedComponentSynchronizer.java:643)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.addProcessGroup(StandardVersionedComponentSynchronizer.java:1387)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.synchronizeChildGroups(StandardVersionedComponentSynchronizer.java:697)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.synchronize(StandardVersionedComponentSynchronizer.java:595)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.lambda$synchronize$10(StandardVersionedComponentSynchronizer.java:393)_
_at 
org.apache.nifi.controller.flow.AbstractFlowManager.withParameterContextResolution(AbstractFlowManager.java:668)_
_at 
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.synchronize(StandardVersionedComponentSynchronizer.java:388)_
_at 
org.apache.nifi.groups.StandardProcessGroup.synchronizeFlow(StandardProcessGroup.java:3891)_
_at 
org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.synchronizeFlow(VersionedFlowSynchronizer.java:465)"_



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to