[ 
https://issues.apache.org/jira/browse/NIFI-2184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16166522#comment-16166522
 ] 

Mark Owens edited comment on NIFI-2184 at 9/14/17 4:15 PM:
-----------------------------------------------------------

I've updated the createDocsWebApp method in the JettyServer.java class handle 
several possible points of failure.  Most importantly, If the 'docs' directory 
is missing NiFi will no longer automatically fail to start, but will instead 
attempt to create the docs directory.  If that succeeds the NiFi startup 
successfully. The only side-effect is that the links under the 'General' 
section of help documentation will be missing. 

I've tested the update by starting NiFi with and without the 'docs' directory 
and forced a couple of the other failure points as well. But  I'm looking for 
suggestions as how to approach unit testing as the modified method is marked 
private and is several layers deep in the call chain.  

The changes can be viewed at my github mirror of NIFI located at 
https://github.com/jmark99/nifi.



was (Author: jmark99):
I've updated the createDocsWebApp method in the JettyServer.java class handle 
several possible points of failure.  Most importantly, If the 'docs' directory 
is missing NiFi will no longer automatically fail to start, but will instead 
attempt to create the docs directory.  If that succeeds the NiFi startup 
successfully. The only side-effect is that the links under the 'General' 
section of help documentation will be missing. 

I've tested the update by starting NiFi with and without the 'docs' directory 
and forced a couple of the other failure points as well. But  I'm looking for 
suggestions as how to approach unit testing as the modified method is marked 
private and is several layers deep in the call chain.  

> JettyServer should confirm "docs" path exists before using it in 
> .createDocsWebApp().
> -------------------------------------------------------------------------------------
>
>                 Key: NIFI-2184
>                 URL: https://issues.apache.org/jira/browse/NIFI-2184
>             Project: Apache NiFi
>          Issue Type: Bug
>          Components: Core Framework, Documentation & Website
>    Affects Versions: 1.0.0, 0.7.0
>         Environment: Tested with 0.7.0-SNAPSHOT.  Looks like it will occur 
> with 1.x, but that is not confirmed.
>            Reporter: Joe Skora
>            Assignee: Mark Owens
>            Priority: Minor
>              Labels: easyfix
>
> Application throws exception and startup fails with "Resource directory paths 
> are malformed: docs" if configured docs directory does not exist.
> Ideally it should startup without online documentation, but if it doesn't 
> start an explicit log message and possibly a message to the console should 
> explain that the directory is missing.
> {code}
> 2016-07-06 13:30:13,840 ERROR [main] org.apache.nifi.NiFi Failure to launch 
> NiFi due to java.lang.reflect.InvocationTargetException
> java.lang.reflect.InvocationTargetException: null
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native 
> Method) ~[na:1.7.0_80]
>         at 
> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
>  ~[na:1.7.0_80]
>         at 
> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>  ~[na:1.7.0_80]
>         at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
> ~[na:1.7.0_80]
>         at org.apache.nifi.NiFi.<init>(NiFi.java:131) 
> ~[nifi-runtime-0.7.0-SNAPSHOT.jar:0.7.0-SNAPSHOT]
>         at org.apache.nifi.NiFi.main(NiFi.java:227) 
> ~[nifi-runtime-0.7.0-SNAPSHOT.jar:0.7.0-SNAPSHOT]
> Caused by: java.lang.IllegalStateException: Resource directory paths are 
> malformed: docs
>         at 
> org.apache.nifi.web.server.JettyServer.createDocsWebApp(JettyServer.java:553) 
> ~[nifi-jetty-0.7.0-SNAPSHOT.jar:0.7.0-SNAPSHOT]
>         at 
> org.apache.nifi.web.server.JettyServer.loadWars(JettyServer.java:337) 
> ~[nifi-jetty-0.7.0-SNAPSHOT.jar:0.7.0-SNAPSHOT]
>         at 
> org.apache.nifi.web.server.JettyServer.<init>(JettyServer.java:140) 
> ~[nifi-jetty-0.7.0-SNAPSHOT.jar:0.7.0-SNAPSHOT]
>         ... 6 common frames omitted
> 2016-07-06 13:30:13,841 INFO [Thread-1] org.apache.nifi.NiFi Initiating 
> shutdown of Jetty web server...
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to