Nick Lawrence created NIFI-7960:
-----------------------------------
Summary: Instance of an extension processor with parameter
references causes jetty shutdown with
FlowSynchronizationException/IllegalArgumentException if the NAR does not exist
Key: NIFI-7960
URL: https://issues.apache.org/jira/browse/NIFI-7960
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.12.1
Reporter: Nick Lawrence
We created an instance of a custom processor and set a (non-sensitive) property
'Scope' to a non-sensitive parameter '#\{my_non_sensitive_param}'
The NAR for the processor was later removed from the extensions directory, but
the instance of the processor still existed on the canvas.
The server failed startup with the exception:
org.apache.nifi.controller.serialization.FlowSynchronizationException:
java.lang.IllegalArgumentException: The property 'Scope' is a sensitive
property, so it can only reference Parameters that are sensitive.
at
org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:306)
at
org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1426)
at
org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:89)
at
org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:792)
at
org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:537)
at
org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:72)
at
org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
at
org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
at
org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at
org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
at org.eclipse.jetty.server.Server.start(Server.java:407)
at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
at org.eclipse.jetty.server.Server.doStart(Server.java:371)
at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1052)
at org.apache.nifi.NiFi.<init>(NiFi.java:158)
at org.apache.nifi.NiFi.<init>(NiFi.java:72)
at org.apache.nifi.NiFi.main(NiFi.java:301)
Caused by: java.lang.IllegalArgumentException: The property 'Scope' is a
sensitive property, so it can only reference Parameters that are sensitive.
at
org.apache.nifi.controller.AbstractComponentNode.verifyCanUpdateProperties(AbstractComponentNode.java:300)
at
org.apache.nifi.controller.AbstractComponentNode.setProperties(AbstractComponentNode.java:195)
at
org.apache.nifi.controller.ComponentNode.setProperties(ComponentNode.java:61)
at
org.apache.nifi.controller.StandardFlowSynchronizer.updateProcessor(StandardFlowSynchronizer.java:1249)
at
org.apache.nifi.controller.StandardFlowSynchronizer.addProcessors(StandardFlowSynchronizer.java:1398)
at
org.apache.nifi.controller.StandardFlowSynchronizer.addProcessGroup(StandardFlowSynchronizer.java:1317)
at
org.apache.nifi.controller.StandardFlowSynchronizer.updateFlow(StandardFlowSynchronizer.java:432)
at
org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:283)
... 42 common frames omitted
2020-10-28 10:09:47,394 INFO [Thread-1] org.apache.nifi.NiFi Initiating
shutdown of Jetty web server...
2020-10-28 10:09:47,398 INFO [Thread-1]
o.eclipse.jetty.server.AbstractConnector Stopped
ServerConnector@31f9b85e\{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-10-28 10:09:47,398 INFO [Thread-1] org.eclipse.jetty.server.session node0
Stopped scavenging
Tried the same experiment with hard coded value for the 'scope' property and
the server started, the processor was marked invalid on the canvas. (This was
the expected behavior).
Searched for existing issues and discovered NIFI-7012, which may or may not be
related.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)