driskell / log-courier

The Log Courier Suite is a set of lightweight tools created to ship and process log files speedily and securely, with low resource usage, to Elasticsearch or Logstash instances.
Other
419 stars 107 forks source link

Logstash configuration auto reload is blocked by log-courier input #397

Closed sysmonk closed 1 year ago

sysmonk commented 1 year ago

Logstash has a functionlaity to automatically reload configuration files when it sees some changes. This is nice, as logstash usually takes a long time to shut down and start up. Unfortunately, this doesn't seem to work with log-courier. I am pretty sure it worked before, but not sure when it stopped, and if it was due to log-courier update, or logstash update.

Example of almost empty logstash configuration that works:

input {
}
filter {
 date { 
  match => [ "timestamp", "MMM dd HH:mm:ss" ]
 }
}
output{ 
}

After doing some whitespace change to the config, logstash shows:

[2023-02-07T09:59:19,092][INFO ][logstash.javapipeline    ] Pipeline `main` is configured with `pipeline.ecs_compatibility: disabled` setting. All plugins in this pipeline will default to `ecs_compatibility => disabled` unless explicitly configured otherwise.
[2023-02-07T09:59:19,096][WARN ][org.logstash.execution.AbstractPipelineExt] Metric registration error: `input_throughput` could not be registered in namespace `[:stats, :pipelines, :main, :flow]`
[2023-02-07T09:59:19,096][WARN ][org.logstash.execution.AbstractPipelineExt] Metric registration error: `filter_throughput` could not be registered in namespace `[:stats, :pipelines, :main, :flow]`
[2023-02-07T09:59:19,096][WARN ][org.logstash.execution.AbstractPipelineExt] Metric registration error: `output_throughput` could not be registered in namespace `[:stats, :pipelines, :main, :flow]`
[2023-02-07T09:59:19,096][WARN ][org.logstash.execution.AbstractPipelineExt] Metric registration error: `queue_backpressure` could not be registered in namespace `[:stats, :pipelines, :main, :flow]`
[2023-02-07T09:59:19,096][WARN ][org.logstash.execution.AbstractPipelineExt] Metric registration error: `worker_concurrency` could not be registered in namespace `[:stats, :pipelines, :main, :flow]`
[2023-02-07T09:59:19,099][INFO ][logstash.javapipeline    ][main] Starting pipeline {:pipeline_id=>"main", "pipeline.workers"=>24, "pipeline.batch.size"=>2000, "pipeline.batch.delay"=>50, "pipeline.max_inflight"=>48000, "pipeline.sources"=>["/home/logstash/conf.d/10-input.conf"], :thread=>"#<Thread:0x39031381 run>"}
[2023-02-07T09:59:19,100][WARN ][logstash.javapipeline    ][main] CAUTION: Recommended inflight events max exceeded! Logstash will run with up to 48000 events in memory in your current configuration. If your message sizes are large this may cause instability with the default heap size. Please consider setting a non-standard heap size, changing the batch size (currently 2000), or changing the number of pipeline workers (currently 24) {:pipeline_id=>"main", :thread=>"#<Thread:0x39031381 run>"} 
[2023-02-07T09:59:19,187][INFO ][logstash.javapipeline    ][main] Pipeline Java execution initialization time {"seconds"=>0.09}
[2023-02-07T09:59:19,237][INFO ][logstash.javapipeline    ][main] Pipeline started {"pipeline.id"=>"main"}
[2023-02-07T09:59:21,657][INFO ][logstash.javapipeline    ][main] Pipeline terminated {"pipeline.id"=>"main"}
[2023-02-07T09:59:21,676][INFO ][logstash.agent           ] Pipelines running {:count=>0, :running_pipelines=>[], :non_running_pipelines=>[:main]}

But if we change the config to include log-courier input:

input {
    courier {
        port => 9001
        ssl_certificate   => "/home/logstash/config/log-courier.crt"
        ssl_key           => "/home/logstash/config/log-courier.key"
    }
}
filter {
  date {
      match => [ "timestamp", "MMM dd HH:mm:ss" ]
  }
}
output{
}

And then do a whitespace change to the config file:

[2023-02-07T10:02:17,075][WARN ][org.logstash.execution.ShutdownWatcherExt] {"inflight_count"=>0, "stalling_threads_info"=>{"other"=>[{"thread_id"=>77, "name"=>"[main]<courier", "current_call"=>"[...]/vendor/bundle/jruby/2.6.0/gems/log-courier-2.9.1/lib/log-courier/event_queue.rb:189:in `block in wait'"}, {"thread_id"=>53, "name"=>"[main]>worker0", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>54, "name"=>"[main]>worker1", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>55, "name"=>"[main]>worker2", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>56, "name"=>"[main]>worker3", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>57, "name"=>"[main]>worker4", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>58, "name"=>"[main]>worker5", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>59, "name"=>"[main]>worker6", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>60, "name"=>"[main]>worker7", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>61, "name"=>"[main]>worker8", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>62, "name"=>"[main]>worker9", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>63, "name"=>"[main]>worker10", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>64, "name"=>"[main]>worker11", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>65, "name"=>"[main]>worker12", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>66, "name"=>"[main]>worker13", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>67, "name"=>"[main]>worker14", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>68, "name"=>"[main]>worker15", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>69, "name"=>"[main]>worker16", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>70, "name"=>"[main]>worker17", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>71, "name"=>"[main]>worker18", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>72, "name"=>"[main]>worker19", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>73, "name"=>"[main]>worker20", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>74, "name"=>"[main]>worker21", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>75, "name"=>"[main]>worker22", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>76, "name"=>"[main]>worker23", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}]}}
[2023-02-07T10:02:17,076][ERROR][org.logstash.execution.ShutdownWatcherExt] The shutdown process appears to be stalled due to busy or blocked plugins. Check the logs for more information.
[2023-02-07T10:02:22,113][WARN ][org.logstash.execution.ShutdownWatcherExt] {"inflight_count"=>0, "stalling_threads_info"=>{"other"=>[{"thread_id"=>77, "name"=>"[main]<courier", "current_call"=>"[...]/vendor/bundle/jruby/2.6.0/gems/log-courier-2.9.1/lib/log-courier/event_queue.rb:189:in `block in wait'"}, {"thread_id"=>53, "name"=>"[main]>worker0", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>54, "name"=>"[main]>worker1", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>55, "name"=>"[main]>worker2", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>56, "name"=>"[main]>worker3", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>57, "name"=>"[main]>worker4", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>58, "name"=>"[main]>worker5", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>59, "name"=>"[main]>worker6", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>60, "name"=>"[main]>worker7", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>61, "name"=>"[main]>worker8", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>62, "name"=>"[main]>worker9", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>63, "name"=>"[main]>worker10", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>64, "name"=>"[main]>worker11", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>65, "name"=>"[main]>worker12", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>66, "name"=>"[main]>worker13", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>67, "name"=>"[main]>worker14", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>68, "name"=>"[main]>worker15", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>69, "name"=>"[main]>worker16", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>70, "name"=>"[main]>worker17", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>71, "name"=>"[main]>worker18", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>72, "name"=>"[main]>worker19", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>73, "name"=>"[main]>worker20", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>74, "name"=>"[main]>worker21", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>75, "name"=>"[main]>worker22", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>76, "name"=>"[main]>worker23", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}]}}
[2023-02-07T10:02:27,145][WARN ][org.logstash.execution.ShutdownWatcherExt] {"inflight_count"=>0, "stalling_threads_info"=>{"other"=>[{"thread_id"=>77, "name"=>"[main]<courier", "current_call"=>"[...]/vendor/bundle/jruby/2.6.0/gems/log-courier-2.9.1/lib/log-courier/event_queue.rb:189:in `block in wait'"}, {"thread_id"=>53, "name"=>"[main]>worker0", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>54, "name"=>"[main]>worker1", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>55, "name"=>"[main]>worker2", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>56, "name"=>"[main]>worker3", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>57, "name"=>"[main]>worker4", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>58, "name"=>"[main]>worker5", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>59, "name"=>"[main]>worker6", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>60, "name"=>"[main]>worker7", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>61, "name"=>"[main]>worker8", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>62, "name"=>"[main]>worker9", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>63, "name"=>"[main]>worker10", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>64, "name"=>"[main]>worker11", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>65, "name"=>"[main]>worker12", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>66, "name"=>"[main]>worker13", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>67, "name"=>"[main]>worker14", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>68, "name"=>"[main]>worker15", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>69, "name"=>"[main]>worker16", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>70, "name"=>"[main]>worker17", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>71, "name"=>"[main]>worker18", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>72, "name"=>"[main]>worker19", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>73, "name"=>"[main]>worker20", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>74, "name"=>"[main]>worker21", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>75, "name"=>"[main]>worker22", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>76, "name"=>"[main]>worker23", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}]}}
[2023-02-07T10:02:27,145][FATAL][org.logstash.execution.ShutdownWatcherExt] Forcefully quitting Logstash ...
[2023-02-07T10:02:27,147][ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Reload/pipeline_id:main, :exception=>"SystemExit", :message=>"exit", :backtrace=>["org/logstash/execution/ShutdownWatcherExt.java:213:in `force_exit'", "org/logstash/execution/ShutdownWatcherExt.java:182:in `start'", "/home/logstash/logstash-core/lib/logstash/java_pipeline.rb:459:in `wait_for_shutdown'", "/home/logstash/logstash-core/lib/logstash/java_pipeline.rb:454:in `shutdown'", "/home/logstash/logstash-core/lib/logstash/pipeline_action/reload.rb:67:in `block in execute'", "/home/logstash/logstash-core/lib/logstash/pipelines_registry.rb:219:in `reload_pipeline'", "/home/logstash/logstash-core/lib/logstash/pipeline_action/reload.rb:62:in `execute'", "/home/logstash/logstash-core/lib/logstash/agent.rb:386:in `block in converge_state'"]}
[2023-02-07T10:02:27,212][INFO ][logstash.pipelineaction.reload] Reloading pipeline {"pipeline.id"=>:main}
[2023-02-07T10:02:32,241][WARN ][org.logstash.execution.ShutdownWatcherExt] {"inflight_count"=>0, "stalling_threads_info"=>{"other"=>[{"thread_id"=>77, "name"=>"[main]<courier", "current_call"=>"[...]/vendor/bundle/jruby/2.6.0/gems/log-courier-2.9.1/lib/log-courier/event_queue.rb:189:in `block in wait'"}, {"thread_id"=>53, "name"=>"[main]>worker0", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>54, "name"=>"[main]>worker1", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>55, "name"=>"[main]>worker2", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>56, "name"=>"[main]>worker3", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>57, "name"=>"[main]>worker4", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>58, "name"=>"[main]>worker5", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>59, "name"=>"[main]>worker6", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>60, "name"=>"[main]>worker7", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>61, "name"=>"[main]>worker8", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>62, "name"=>"[main]>worker9", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>63, "name"=>"[main]>worker10", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>64, "name"=>"[main]>worker11", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>65, "name"=>"[main]>worker12", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>66, "name"=>"[main]>worker13", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>67, "name"=>"[main]>worker14", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>68, "name"=>"[main]>worker15", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>69, "name"=>"[main]>worker16", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>70, "name"=>"[main]>worker17", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>71, "name"=>"[main]>worker18", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>72, "name"=>"[main]>worker19", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>73, "name"=>"[main]>worker20", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>74, "name"=>"[main]>worker21", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>75, "name"=>"[main]>worker22", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}, {"thread_id"=>76, "name"=>"[main]>worker23", "current_call"=>"[...]/logstash-core/lib/logstash/java_pipeline.rb:301:in `block in start_workers'"}]}}
[2023-02-07T10:02:32,242][ERROR][org.logstash.execution.ShutdownWatcherExt] The shutdown process appears to be stalled due to busy or blocked plugins. Check the logs for more information.

The log-courier port is blocked in firewall, so there's no real connections in this example test. I've tried to add a beat input like:

 beats {
    port => 5044
  }

And beats does not make the reloading stuck (haven't tested with real clients connected to it).

Would it be possible to make it non-blocking?

sysmonk commented 1 year ago

Forgot to mention the versions: Logstash "version" : "8.5.1", logstash-input-courier: "version" : "2.9.1"

driskell commented 1 year ago

Managed to reproduce and fix it for next version :+1: