You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Bryan Bende (JIRA)" <ji...@apache.org> on 2019/03/27 20:40:00 UTC

[jira] [Updated] (NIFI-5098) NiFi fails to start if invalid NiFi Registry URI is configured in a controller service.

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

Bryan Bende updated NIFI-5098:
------------------------------
    Labels: SDLC  (was: )

> NiFi fails to start if invalid NiFi Registry URI is configured in a controller service.
> ---------------------------------------------------------------------------------------
>
>                 Key: NIFI-5098
>                 URL: https://issues.apache.org/jira/browse/NIFI-5098
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Jeremy Dyer
>            Priority: Major
>              Labels: SDLC
>
> When configuring a NiFi-registry client within NiFi the user can enter whatever URI they desire. However if the user enters a URI that does not contain http/https the URI is not validated. I typed "htp://" for example instead of "http://". I restarted nifi and nifi would not restart giving an error in the logs that is included below. This prevented NiFi from starting without first manually fixing the controller service entry for the nifi-registry. This seems to only happen when you "update" the URI for the NiFi-Registry. It seems that client side validation is not occuring when updating the URI. This allows for the system to get in an invalid state if someone updates the URI incorrectly.
>  
>  
> org.apache.nifi.controller.serialization.FlowSynchronizationException: java.lang.IllegalArgumentException: Cannot create Flow Registry with URI of localhost:18080 because there are no known implementations of Flow Registries that can handle URIs of scheme localhost
>  at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:474)
>  at org.apache.nifi.controller.FlowController.synchronize(FlowController.java:1622)
>  at org.apache.nifi.persistence.StandardXMLFlowConfigurationDAO.load(StandardXMLFlowConfigurationDAO.java:84)
>  at org.apache.nifi.controller.StandardFlowService.loadFromBytes(StandardFlowService.java:723)
>  at org.apache.nifi.controller.StandardFlowService.load(StandardFlowService.java:534)
>  at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:72)
>  at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:876)
>  at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:532)
>  at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:839)
>  at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:344)
>  at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1480)
>  at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1442)
>  at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:799)
>  at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
>  at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:540)
>  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
>  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
>  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>  at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:290)
>  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:113)
>  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:131)
>  at org.eclipse.jetty.server.Server.start(Server.java:452)
>  at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:105)
>  at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
>  at org.eclipse.jetty.server.Server.doStart(Server.java:419)
>  at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
>  at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:798)
>  at org.apache.nifi.NiFi.<init>(NiFi.java:160)
>  at org.apache.nifi.NiFi.main(NiFi.java:268)
> Caused by: java.lang.IllegalArgumentException: Cannot create Flow Registry with URI of localhost:18080 because there are no known implementations of Flow Registries that can handle URIs of scheme localhost
>  at org.apache.nifi.registry.flow.StandardFlowRegistryClient.addFlowRegistry(StandardFlowRegistryClient.java:86)
>  at org.apache.nifi.controller.StandardFlowSynchronizer.sync(StandardFlowSynchronizer.java:349)
>  ... 37 common frames omitted



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)