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)