Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
2.0.0-M1, 2.0.0-M2, 2.0.0-M3
Description
Issue
Publishing a MiNiFi flow that was designed with not the same manifest version as the current MiNiFi runtime use causes flow update failure.
Steps to reproduce:
- Design a Flow with the previous NiFi version
- Publish that flow through C2 Server
Expected behaviour
The flow should be loaded with the compatible bundles.
Actual behaviour
Exceptions in logs:
2024-05-29 11:43:43,872 INFO [pool-15-thread-1] o.a.n.f.s.StandardVersionedComponentSynchronizer Added GhostProcessor[id=f4d7586c-d575-4255-bbe1-c0f7b129a7ea] to StandardProcessGroup[identifier=7072239a-c047-4d5e-8e68-cd2cbc651343,name=root] 2024-05-29 11:43:43,872 ERROR [pool-15-thread-1] o.a.nifi.controller.ExtensionBuilder Could not create Processor of type org.apache.nifi.processors.standard.GenerateFlowFile for ID d7c7463f-beaf-4122-b7af-581a41740512 due to: org.apache.nifi.processors.standard.GenerateFlowFile; creating "Ghost" implementation
And Flow is reverted to the previous flow.
Root cause
We have a condition in https://github.com/apache/nifi/blob/main/nifi-framework-bundle/nifi-framework/nifi-framework-core/src/main/java/org/apache/nifi/controller/serialization/VersionedFlowSynchronizer.java#L170 for the existing flow, but we should have a null check for the proposed, and map the compatible bundles even if the old flow was empty.
Attachments
Issue Links
- links to