Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Be consistent with how we handle configuration options #5117

Open
4 tasks
purbon opened this issue Apr 14, 2016 · 6 comments
Open
4 tasks

Be consistent with how we handle configuration options #5117

purbon opened this issue Apr 14, 2016 · 6 comments

Comments

@purbon
Copy link
Contributor

purbon commented Apr 14, 2016

This issue is open to propose a unification process toward the way we handle certain options in plugins, I'm going to focus for now only on host and port options, but I'm sure there are a few others that might benefit from it.

In the case of host connection management, we got different behaviour:

this is an small subset of plugins, just trying to show the situation

This give user a contradictory experience as most of people expect to have similar behaviour across logstash plugins, the proposal here is to:

  • See what options can be make consistent.
  • Unify the common options across the set of plugins, we can start with host and and port option to make the interface consistent.
  • Provide a common class, that might be living in core, or in a plugin mixin, to encapsulate this behaviour across plugins.
  • Update the plugins to use this common helper.

What do you think?

Related to: logstash-plugins/logstash-input-redis#24 logstash-plugins/logstash-input-redis#25

@LucaWintergerst
Copy link

I fully agree with Pere.
Different configuration options take up a lot of time, since you often have to look up the way to configure the plugins.
Log output in case of problems is often misleading at first as well.

In case of a redis input, you even have to use a second input if you want to use a different port. Using the way it is done on the output would solve this problem (host => 127.0.0.1:6379 instead of host => 127.0.0.1 port => 6379)

@colinsurprenant
Copy link
Contributor

related to #3773 and #2151

@purbon
Copy link
Contributor Author

purbon commented Apr 14, 2016

Good additions,
my thoughts goes now to the minimal necessary changes to start us having
this inconsistencies being removed. Do you have a proposal? or the points I
said in the issue description are good for you?

On Thu, Apr 14, 2016 at 4:09 PM Colin Surprenant [email protected]
wrote:

related to #3773 #3773 and
#2151 #2151


You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
#5117 (comment)

@guyboertje
Copy link
Contributor

👍
With the redis input though, if you need two connections then you need two connections regardless of the config format.

@colinsurprenant
Copy link
Contributor

@purbon I pointed out #2151 because it also identifies options inconsistencies related to ssl, so you can add that to your: See what options can be make consistent. action item.

I pointed out #3773 because you suggested to: Provide a common class, that might be living in core, or in a plugin mixin, to encapsulate this behaviour across plugins. Since this infer a refactor of options handling, there has already be some thoughts about that in #3773 and maybe it is worth looking at this from a little bit higher level perspective and see if we should move in that direction and/or go ahead with what was proposed?

@guyboertje
Copy link
Contributor

After rereading the links from @colinsurprenant - I see we spoke about Java config declarations. I recently did some preliminary work on feasibility of a pure Java plugin + JRuby wrapper - I discovered Typesafe/Lightbend config java lib - this issue shows more, config lib readme

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants