From b146ab74079edc1064eb8aaf32f7756fd939a448 Mon Sep 17 00:00:00 2001
From: Timea Barna <timea.barna@gmail.com>
Date: Thu, 20 Apr 2023 13:40:25 +0200
Subject: [PATCH] NIFI-11473 Flow version change in NiFi should not stop a
 component when only position is changed

Signed-off-by: Matthew Burgess <mattyb149@apache.org>
---
 .../StandardVersionedComponentSynchronizer.java               | 4 ++++
 .../java/org/apache/nifi/web/StandardNiFiServiceFacade.java   | 1 +
 2 files changed, 5 insertions(+)

diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
index 957485ace5..f634ef538d 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-framework-components/src/main/java/org/apache/nifi/flow/synchronization/StandardVersionedComponentSynchronizer.java
@@ -217,6 +217,10 @@ public class StandardVersionedComponentSynchronizer implements VersionedComponen
                 }
             }
 
+            if (diff.getDifferenceType() == DifferenceType.POSITION_CHANGED) {
+                continue;
+            }
+
             final VersionedComponent component = diff.getComponentA() == null ? diff.getComponentB() : diff.getComponentA();
             updatedVersionedComponentIds.add(component.getIdentifier());
 
diff --git a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
index 602339cf5e..cc64d0047f 100644
--- a/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
+++ b/nifi-nar-bundles/nifi-framework-bundle/nifi-framework/nifi-web/nifi-web-api/src/main/java/org/apache/nifi/web/StandardNiFiServiceFacade.java
@@ -5505,6 +5505,7 @@ public class StandardNiFiServiceFacade implements NiFiServiceFacade {
             .filter(diff -> !FlowDifferenceFilters.isScheduledStateNew(diff))
             .filter(diff -> !FlowDifferenceFilters.isLocalScheduleStateChange(diff))
             .filter(diff -> !FlowDifferenceFilters.isPropertyMissingFromGhostComponent(diff, flowManager))
+            .filter(difference -> difference.getDifferenceType() != DifferenceType.POSITION_CHANGED)
             .map(difference -> {
                 final VersionedComponent localComponent = difference.getComponentA();