should end at the number of generated events (FAILED - 3)
[2024-02-01T14:18:25,583][ERROR][logstash.javapipeline ] Pipeline error {:pipeline_id=>"main", :exception=>#<ArgumentError: wrong number of arguments (given 1, expected 0)>,
:backtrace=>[
"/Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/config/lir_serializer.rb:47:in `vertices'",
"/Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/config/lir_serializer.rb:36:in `serialize'",
"/Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/config/lir_serializer.rb:27:in `serialize'",
"/Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/java_pipeline.rb:268:in `start_workers'",
"/Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/java_pipeline.rb:194:in `run'",
"/Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/java_pipeline.rb:146:in `block in start'"
],
"pipeline.sources"=>[], :thread=>"#<Thread:0x5e2f743e /Users/andrea/workspace/logstash_andsel/logstash-core/lib/logstash/java_pipeline.rb:134 run>"}
To reproduce consider the PR #15719, after set system java to a JDK 21, run with:
Where getVertices returns a LinkedHashSet.
This error was isolated in JRuby issue https://github.com/jruby/jruby/issues/8061, however originates from the fact that Logstash's rubyTests Gradle tasks, executes a JRuby script engine within the Gradle process itself:
This issue asks to switch the execution of rubyTest into a separated process, outside of the Gradle daemon, so that the test environment could be more close to what the real environment is, without interference of Gradle internals itself.
Running
rubyTests
with JDK 21 exposes the error:To reproduce consider the PR #15719, after set system java to a JDK 21, run with:
The problem happens at https://github.com/elastic/logstash/blob/8ac55184b8a9d22dea8f61f287a3cd21440fda39/logstash-core/lib/logstash/config/lir_serializer.rb#L47
Where
getVertices
returns a LinkedHashSet. This error was isolated in JRuby issue https://github.com/jruby/jruby/issues/8061, however originates from the fact that Logstash'srubyTests
Gradle tasks, executes a JRuby script engine within the Gradle process itself:This issue asks to switch the execution of rubyTest into a separated process, outside of the Gradle daemon, so that the test environment could be more close to what the real environment is, without interference of Gradle internals itself.