Overriding logstash.yml in pipelines.yml

Hi,
I am testing a pipelined configuration using the output isolator pattern. While this I am still using pipeline batch/worker settings from logstash.yml and would like to use pipeline.ordered for one of the outputs.

When I tried this, and dropped pipeline.workers to 1 for that output logstash failed to start with:

[ERROR][logstash.config.sourceloader] Could not fetch all the sources {:exception=>ArgumentError, :message=>"Setting \"pipeline.ordered\" hasn't been registered", :backtrace=>["/usr/share/logstash/logstash-core/lib/logstash/settings.rb:36:in `get_setting'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:69:in `set_value'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:88:in `block in merge'", "org/jruby/RubyHash.java:1419:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/settings.rb:88:in `merge'", "/usr/share/logstash/logstash-core/lib/logstash/config/source/multi_local.rb:18:in `block in pipeline_configs'", "org/jruby/RubyArray.java:2577:in `map'", "/usr/share/logstash/logstash-core/lib/logstash/config/source/multi_local.rb:17:in `pipeline_configs'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:61:in `block in fetch'", "org/jruby/RubyArray.java:2572:in `collect'", "/usr/share/logstash/logstash-core/lib/logstash/config/source_loader.rb:60:in `fetch'", "/usr/share/logstash/logstash-core/lib/logstash/agent.rb:148:in `converge_state_and_update'", "/usr/share/logstash/x-pack/lib/monitoring/internal_pipeline_source.rb:49:in `enable_monitoring'", "/usr/share/logstash/x-pack/lib/monitoring/internal_pipeline_source.rb:39:in `update_license_state'", "/usr/share/logstash/x-pack/lib/license_checker/licensed.rb:39:in `setup_license_checker'", "/usr/share/logstash/x-pack/lib/monitoring/internal_pipeline_source.rb:23:in `initialize'", "/usr/share/logstash/x-pack/lib/monitoring/monitoring.rb:98:in `after_agent'", "org/logstash/execution/EventDispatcherExt.java:71:in `execute'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:360:in `execute'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:67:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/runner.rb:242:in `run'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/clamp-0.6.5/lib/clamp/command.rb:132:in `run'", "/usr/share/logstash/lib/bootstrap/environment.rb:73:in `<main>'"]}

Settings applied to the output in question:

- pipeline.id: output2
  queue.type: persisted
  pipeline.workers: 1
  pipeline.batch.size: 8000
  pipeline.ordered: true
  ......

Note: Global workers/batch settings are still set in logstash.yml. Logstash version is 7.2.0

Am I misinterpreting how worker settings are applied in a multi-pipline configuration?

Thx
D

I do not think that is a per-pipeline setting.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.