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

ASF subversion and git services commented on NIFI-2184:
-------------------------------------------------------

Commit feaf44b623be3201987bcfb44e05b7bb96d0149f in nifi's branch 
refs/heads/master from [~jmark99]
[ https://git-wip-us.apache.org/repos/asf?p=nifi.git;h=feaf44b ]

NIFI-2184 JettyServer should confirm "docs" path exists before using it in 
.createDocsWebApp().

Refactored the createDocsWebApp method of the JettyServer.java class. 
Previously NiFi would fail to
start up and instead throw an IllegalStatException if the 'docs' directory did 
not exist in the
installation directory. With the update, if the 'docs' directory is missing, an 
attempt to create
the missing directory will be made and if successful will enable NIFI to 
startup successfully, barring
any other startup errors of course. The side effect of this change is that the 
help documentation
under the 'General' heading of the help page will be missing.

Three small helper methods were extracted from the original method.  Each 
related to a section of the
original code that could throw an exception. In each case if an exception is 
now thrown a more helpful
log message will be output and the process will be closed via the 
startUpfailure method rather than
throwing an exception.

This closes #2164.

Signed-off-by: Andy LoPresto <[email protected]>


> 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