Graylog2 / Graylog2/graylog2-server
fail nice if `http_*` settings are wrong in configuration
- Dominant language
- Java
- Stars
- 8.1k
- Forks
- 1.1k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 217
Description
## Expected Behavior
Graylog should write clearly in the log what parameter is not in the format it should be
## Current Behavior
```
2019-09-17T15:00:05.820Z ERROR [CmdLineTool] Invalid configuration com.github.joschi.jadconfig.ValidationException: Couldn't run validator method at com.github.joschi.jadconfig.JadConfig.invokeValidatorMethods(JadConfig.java:227) ~[graylog.jar:?] at com.github.joschi.jadconfig.JadConfig.process(JadConfig.java:100) ~[graylog.jar:?] at org.graylog2.bootstrap.CmdLineTool.processConfiguration(CmdLineTool.java:351) [graylog.jar:?] at org.graylog2.bootstrap.CmdLineTool.readConfiguration(CmdLineTool.java:344) [graylog.jar:?] at org.graylog2.bootstrap.CmdLineTool.run(CmdLineTool.java:178) [graylog.jar:?] at org.graylog2.bootstrap.Main.main(Main.java:50) [graylog.jar:?] Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222] at com.github.joschi.jadconfig.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:53) ~[graylog.jar:?] at com.github.joschi.jadconfig.JadConfig.invokeValidatorMethods(JadConfig.java:221) ~[graylog.jar:?] ... 5 more Caused by: java.lang.RuntimeException: Could not parse URI. at org.graylog2.plugin.Tools.getUriWithScheme(Tools.java:541) ~[graylog.jar:?] at org.graylog2.plugin.Tools.lambda$normalizeURI$0(Tools.java:593) ~[graylog.jar:?] at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_222] at org.graylog2.plugin.Tools.normalizeURI(Tools.java:593) ~[graylog.jar:?] at org.graylog2.configuration.HttpConfiguration.getHttpPublishUri(HttpConfiguration.java:118) ~[graylog.jar:?] at org.graylog2.configuration.HttpConfiguration.validateHttpPublishUriPathEndsWithSlash(HttpConfiguration.java:234) ~[graylog.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222] at com.github.joschi.jadconfig.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:53) ~[graylog.jar:?] at com.github.joschi.jadconfig.JadConfig.invokeValidatorMethods(JadConfig.java:221) ~[graylog.jar:?] ... 5 more Caused by: java.net.URISyntaxException: Expected scheme-specific part at index 5: http: at java.net.URI$Parser.fail(URI.java:2848) ~[?:1.8.0_222] at java.net.URI$Parser.failExpecting(URI.java:2854) ~[?:1.8.0_222] at java.net.URI$Parser.parse(URI.java:3057) ~[?:1.8.0_222] at java.net.URI.(URI.java:673) ~[?:1.8.0_222] at org.graylog2.plugin.Tools.getUriWithScheme(Tools.java:539) ~[graylog.jar:?] at org.graylog2.plugin.Tools.lambda$normalizeURI$0(Tools.java:593) ~[graylog.jar:?] at java.util.Optional.map(Optional.java:215) ~[?:1.8.0_222] at org.graylog2.plugin.Tools.normalizeURI(Tools.java:593) ~[graylog.jar:?] at org.graylog2.configuration.HttpConfiguration.getHttpPublishUri(HttpConfiguration.java:118) ~[graylog.jar:?] at org.graylog2.configuration.HttpConfiguration.validateHttpPublishUriPathEndsWithSlash(HttpConfiguration.java:234) ~[graylog.jar:?] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_222] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_222] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_222] at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_222] at com.github.joschi.jadconfig.ReflectionUtils.invokeMethodsWithAnnotation(ReflectionUtils.java:53) ~[graylog.jar:?] at com.github.joschi.jadconfig.JadConfig.invokeValidatorMethods(JadConfig.java:221) ~[graylog.jar:?] ... 5 more
```
## Context
The error will happen most of the time to beginners or not experienced users. It would not block them from having Graylog up and running without the help of the Community or Support.
While it is document clearly what needs to be placed at what - people do not read it and configure it wrong.
https://community.graylog.org/t/cant-run-graylog-service/11992
## Your Environment
* Graylog Version: 3.1
Contributor guide
Assessment
This issue has not been assessed yet.