[ 
https://issues.apache.org/jira/browse/NIFI-7960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nick Lawrence updated NIFI-7960:
--------------------------------
    Description: 
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:

 
{code:java}
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
{code}
 

 

Tried the same experiment with literal/non-parameter 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.

  was:
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:

 
{code:java}
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
{code}
 

 

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.


> Instance of an extension (processor) with parameter references causes jetty 
> shutdown with FlowSynchronizationException/IllegalArgumentException if the 
> NAR has been removed
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 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
>            Priority: Minor
>
> 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:
>  
> {code:java}
> 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
> {code}
>  
>  
> Tried the same experiment with literal/non-parameter 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)

Reply via email to