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

David Handermann updated NIFI-13688:
------------------------------------
    Status: Patch Available  (was: Reopened)

> NiFi can't start when Parameter Provider depends on controller service
> ----------------------------------------------------------------------
>
>                 Key: NIFI-13688
>                 URL: https://issues.apache.org/jira/browse/NIFI-13688
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework, Extensions
>    Affects Versions: 2.0.0-M5
>            Reporter: Pierre Villard
>            Assignee: David Handermann
>            Priority: Major
>             Fix For: 2.0.0-M5
>
>          Time Spent: 40m
>  Remaining Estimate: 0h
>
> Following NIFI-13560, it appears that NiFi can't start when a Parameter 
> Provider is configured and this parameter provider depends on a controller 
> service. In this case, fetching parameters will fail because the referenced 
> controller service is still enabling. This is the case with the HashiCorp 
> parameter provider.
> {code:java}
> 2024-08-28 15:17:15,752 ERROR [main] org.apache.nifi.web.server.JettyServer 
> Failed to start Server
> org.apache.nifi.controller.serialization.FlowSynchronizationException: 
> java.lang.IllegalStateException: Error fetching parameters for 
> ParameterProvider[id=98c9d5c5-0191-1000-624e-84083ed8842e]: Cannot invoke 
> method public abstract 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultCommunicationService 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultClientService.getHashiCorpVaultCommunicationService()
>  on Controller Service with identifier 98cab32e-0191-1000-4aa7-fda19202e9c5 
> because the Controller Service's State is currently ENABLING
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.synchronizeFlow(VersionedFlowSynchronizer.java:465)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.sync(VersionedFlowSynchronizer.java:229)
>     at 
> org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1800)
>     at 
> org.apache.nifi.persistence.StandardFlowConfigurationDAO.load(StandardFlowConfigurationDAO.java:91)
>     at 
> org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:817)
>     at 
> org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:538)
>     at 
> org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:67)
>     at 
> org.eclipse.jetty.ee10.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:1591)
>     at 
> org.eclipse.jetty.ee10.servlet.ServletContextHandler.contextInitialized(ServletContextHandler.java:497)
>     at 
> org.eclipse.jetty.ee10.servlet.ServletHandler.initialize(ServletHandler.java:670)
>     at 
> org.eclipse.jetty.ee10.servlet.ServletContextHandler.startContext(ServletContextHandler.java:1325)
>     at 
> org.eclipse.jetty.ee10.webapp.WebAppContext.startWebapp(WebAppContext.java:1342)
>     at 
> org.eclipse.jetty.ee10.webapp.WebAppContext.startContext(WebAppContext.java:1300)
>     at 
> org.eclipse.jetty.ee10.servlet.ServletContextHandler.lambda$doStart$0(ServletContextHandler.java:1047)
>     at 
> org.eclipse.jetty.server.handler.ContextHandler$ScopedContext.call(ContextHandler.java:1446)
>     at 
> org.eclipse.jetty.ee10.servlet.ServletContextHandler.doStart(ServletContextHandler.java:1044)
>     at 
> org.eclipse.jetty.ee10.webapp.WebAppContext.doStart(WebAppContext.java:499)
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120)
>     at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491)
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120)
>     at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491)
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
>     at org.eclipse.jetty.server.Server.start(Server.java:624)
>     at 
> org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:120)
>     at org.eclipse.jetty.server.Handler$Abstract.doStart(Handler.java:491)
>     at org.eclipse.jetty.server.Server.doStart(Server.java:565)
>     at 
> org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93)
>     at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:878)
>     at org.apache.nifi.NiFi.<init>(NiFi.java:155)
>     at org.apache.nifi.NiFi.<init>(NiFi.java:86)
>     at org.apache.nifi.NiFi.main(NiFi.java:284)
> Caused by: java.lang.IllegalStateException: Error fetching parameters for 
> ParameterProvider[id=98c9d5c5-0191-1000-624e-84083ed8842e]: Cannot invoke 
> method public abstract 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultCommunicationService 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultClientService.getHashiCorpVaultCommunicationService()
>  on Controller Service with identifier 98cab32e-0191-1000-4aa7-fda19202e9c5 
> because the Controller Service's State is currently ENABLING
>     at 
> org.apache.nifi.controller.parameter.StandardParameterProviderNode.fetchParameters(StandardParameterProviderNode.java:286)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.getProvidedParameters(VersionedFlowSynchronizer.java:1064)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.getProvidedParameters(VersionedFlowSynchronizer.java:1057)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.createParameterMap(VersionedFlowSynchronizer.java:867)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.addParameterContext(VersionedFlowSynchronizer.java:816)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.inheritParameterContext(VersionedFlowSynchronizer.java:803)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.lambda$inheritParameterContexts$4(VersionedFlowSynchronizer.java:788)
>     at 
> org.apache.nifi.controller.flow.AbstractFlowManager.withParameterContextResolution(AbstractFlowManager.java:668)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.inheritParameterContexts(VersionedFlowSynchronizer.java:780)
>     at 
> org.apache.nifi.controller.serialization.VersionedFlowSynchronizer.synchronizeFlow(VersionedFlowSynchronizer.java:410)
>     ... 35 common frames omitted
> Caused by: 
> org.apache.nifi.controller.service.ControllerServiceDisabledException: Cannot 
> invoke method public abstract 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultCommunicationService 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultClientService.getHashiCorpVaultCommunicationService()
>  on Controller Service with identifier 98cab32e-0191-1000-4aa7-fda19202e9c5 
> because the Controller Service's State is currently ENABLING
>     at 
> org.apache.nifi.controller.service.StandardControllerServiceInvocationHandler.invoke(StandardControllerServiceInvocationHandler.java:97)
>     at 
> jdk.proxy13/jdk.proxy13.$Proxy106.getHashiCorpVaultCommunicationService(Unknown
>  Source)
>     at 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultParameterProvider.getVaultCommunicationService(HashiCorpVaultParameterProvider.java:163)
>     at 
> org.apache.nifi.vault.hashicorp.HashiCorpVaultParameterProvider.fetchParameters(HashiCorpVaultParameterProvider.java:85)
>     at 
> org.apache.nifi.controller.parameter.StandardParameterProviderNode.fetchParameters(StandardParameterProviderNode.java:284)
>     ... 44 common frames omitted {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to