Hi All,
it looks like the multi-line filter cannot be used with more than one Logstash worker: I get the following error, when the Logstash gets started with -w N
(N > 1):
09:01:17.819 [[main]>worker0] ERROR logstash.pipeline - Exception in pipelineworker, the pipeline stopped processing new events, please check your filter configuration and restart Logstash. {
"exception"=>#<NoMethodError: undefinedmethod`to_hash_with_metadata'fornil: NilClass>,
"backtrace"=>["C:/programs/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-multiline-3.0.2/lib/logstash/filters/multiline.rb:273:in `merge'",
"org/jruby/RubyArray.java:1613:in `each'",
"org/jruby/RubyEnumerable.java:852:in `inject'",
"C:/programs/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-multiline-3.0.2/lib/logstash/filters/multiline.rb:272:in `merge'",
"C:/programs/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-multiline-3.0.2/lib/logstash/filters/multiline.rb:230:in `previous_filter!'",
"C:/programs/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-multiline-3.0.2/lib/logstash/filters/multiline.rb:173:in `filter'",
"C:/programs/logstash/logstash-core/lib/logstash/filters/base.rb:145:in `do_filter'",
"C:/programs/logstash/logstash-core/lib/logstash/filters/base.rb:164:in `multi_filter'",
"org/jruby/RubyArray.java:1613:in `each'",
"C:/programs/logstash/logstash-core/lib/logstash/filters/base.rb:161:in `multi_filter'",
"C:/programs/logstash/logstash-core/lib/logstash/filter_delegator.rb:41:in `multi_filter'",
"(eval):303:in `filter_func'",
"C:/programs/logstash/logstash-core/lib/logstash/pipeline.rb:378:in `filter_batch'",
"org/jruby/RubyProc.java:281:in `call'",
"C:/programs/logstash/logstash-core/lib/logstash/util/wrapped_synchronous_queue.rb:201:in `each'",
"org/jruby/RubyHash.java:1342:in `each'",
"C:/programs/logstash/logstash-core/lib/logstash/util/wrapped_synchronous_queue.rb:200:in `each'",
"C:/programs/logstash/logstash-core/lib/logstash/pipeline.rb:377:in `filter_batch'",
"C:/programs/logstash/logstash-core/lib/logstash/pipeline.rb:365:in `worker_loop'",
"C:/programs/logstash/logstash-core/lib/logstash/pipeline.rb:331:in `start_workers'"]
}
the multi-line config:
multiline {
pattern => "^%{TIMESTAMP_ISO8601}\s+"
negate => true
what => "previous"
}
Env: Logstash v5.2.2 on windows 10
Has anyone else experienced similar problems?
Thank you!