Bryan Bende created NIFI-11039:
----------------------------------
Summary: Importing flow should handle missing parameter provider
Key: NIFI-11039
URL: https://issues.apache.org/jira/browse/NIFI-11039
Project: Apache NiFi
Issue Type: Improvement
Affects Versions: 1.19.1, 1.19.0, 1.18.0
Reporter: Bryan Bende
>From Apache Slack:
{color:#1d1c1d}We have been using deployment of Parameter Contexts using
Parameter Providers in Nifi v1.18.0. We are also using the NiFi registry to
save Processor Groups and restore them into the current flow. There is an issue
where if a Process Group is saved with a Parameter Context, that has been
created via a Parameter Provider and the Provider has been deleted, the flow
fails to deploy saying the provider does not exist. I guess I would expect the
behavior to create the Parameter Provider if it doesn't exist, just like when
the Parameter Contexts, Controller Services ect. Even if the desired behavior
is to not create Parameter Providers, the import from the registry should still
fail gracefully and allow the remaining flow to be imported, ignoring the
missing Provider. If I get a flow into this state, I either have to find an
older version of the flow in the registry to recover, or I need to manually
download, modify and re-upload the PG in order to get the flow deployed.{color}
{color:#1d1c1d}Stacktrace:{color}
{code:java}
2023-01-10 19:35:02,293 INFO [NiFi Web Server-43]
o.a.n.w.a.c.IllegalArgumentExceptionMapper java.lang.IllegalArgumentException:
Could not configure Parameter Provider 985860cf-0185-1000-dcb9-6a2c63edbdbf,
which could not be found}. Returning Bad Request}
response.java.lang.IllegalArgumentException: Could not configure Parameter
Provider 985860cf-0185-1000-dcb9-6a2c63edbdbf, which could not be found
at
org.apache.nifi.parameter.StandardParameterContext.configureParameterProvider(StandardParameterContext.java:482)
at
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.addMissingConfiguration(StandardVersionedComponentSynchronizer.java:2093)
at
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.selectParameterContext(StandardVersionedComponentSynchronizer.java:2056)
at
org.apache.nifi.flow.synchronization.StandardVersionedComponentSynchronizer.lambda$addMissingConfiguration$30(StandardVersionedComponentSynchronizer.java:2089)
at
java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
at
java.base/java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1655)
{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)