Graylog2 / Graylog2/graylog2-server

fail nice if `http_*` settings are wrong in configuration

Open
#6,457 0 comments 0 reactions 0 assignees View on GitHub
bug triaged
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.