adenes commented on a change in pull request #5402:
URL: https://github.com/apache/nifi/pull/5402#discussion_r720039865
##########
File path:
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
##########
@@ -4293,16 +4294,30 @@ private void updateProcessGroup(final ProcessGroup
group, final VersionedProcess
//As Input Port (IP1) originally belonged to PGA the new connection
would be incorrectly linked to the old Input Port
//instead of the one being in PGB, so it needs to be removed first
before updating the connections.
- for (final String removedVersionedId : inputPortsRemoved) {
+ Iterator<String> inputPortsRemovedIterator =
inputPortsRemoved.iterator();
+ while (inputPortsRemovedIterator.hasNext()) {
+ final String removedVersionedId = inputPortsRemovedIterator.next();
final Port port = inputPortsByVersionedId.get(removedVersionedId);
LOG.info("Removing {} from {}", port, group);
- group.removeInputPort(port);
+ try {
+ group.removeInputPort(port);
+ inputPortsRemovedIterator.remove();
+ } catch (IllegalStateException e) {
+ LOG.info("Removing {} from {} not possible at the moment,
connection needs to be updated first.", port, group);
Review comment:
Even though this is an info log message at first sight my impression was
that I as a user need to "update the connections". Please update this to
something like "...not possible at the moment, will try again after updating
the connections."
##########
File path:
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
##########
@@ -4293,16 +4294,30 @@ private void updateProcessGroup(final ProcessGroup
group, final VersionedProcess
//As Input Port (IP1) originally belonged to PGA the new connection
would be incorrectly linked to the old Input Port
//instead of the one being in PGB, so it needs to be removed first
before updating the connections.
- for (final String removedVersionedId : inputPortsRemoved) {
+ Iterator<String> inputPortsRemovedIterator =
inputPortsRemoved.iterator();
+ while (inputPortsRemovedIterator.hasNext()) {
+ final String removedVersionedId = inputPortsRemovedIterator.next();
final Port port = inputPortsByVersionedId.get(removedVersionedId);
LOG.info("Removing {} from {}", port, group);
- group.removeInputPort(port);
+ try {
+ group.removeInputPort(port);
+ inputPortsRemovedIterator.remove();
+ } catch (IllegalStateException e) {
+ LOG.info("Removing {} from {} not possible at the moment,
connection needs to be updated first.", port, group);
+ }
}
- for (final String removedVersionedId : outputPortsRemoved) {
+ Iterator<String> outputPortsRemovedIterator =
outputPortsRemoved.iterator();
+ while (outputPortsRemovedIterator.hasNext()) {
+ final String removedVersionedId =
outputPortsRemovedIterator.next();
final Port port = outputPortsByVersionedId.get(removedVersionedId);
LOG.info("Removing {} from {}", port, group);
- group.removeOutputPort(port);
+ try {
+ group.removeOutputPort(port);
+ outputPortsRemovedIterator.remove();
+ } catch (IllegalStateException e) {
+ LOG.info("Removing {} from {} not possible at the moment,
connection needs to be updated first.", port, group);
Review comment:
same as above
##########
File path:
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
##########
@@ -4343,6 +4358,18 @@ private void updateProcessGroup(final ProcessGroup
group, final VersionedProcess
group.removeFunnel(funnel);
}
+ for (final String removedVersionedId : inputPortsRemoved) {
Review comment:
No strong opinion on this, but maybe a log message or a comment would be
useful here: "removing the remaining input and output ports".
##########
File path:
nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/groups/StandardProcessGroup.java
##########
@@ -4730,7 +4757,8 @@ private Connectable getConnectable(final ProcessGroup
group, final ConnectableCo
// if the flow doesn't contain the properly mapped group id,
we need to search all child groups.
return group.getProcessGroups().stream()
.flatMap(gr -> gr.getInputPorts().stream())
- .filter(component ->
id.equals(component.getVersionedComponentId().orElse(
+ .filter(component
Review comment:
minor: unnecessary formatting change, please revert
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]