Logstash Date filter plugin doesn't work with Java 8 after 7.16.1 upgrade

Hello,

We have updated Logstash from 7.10.1 to 7.16.1 and cannot start it with the error:

[2021-12-14T15:35:05,385][ERROR][logstash.agent           ] Failed to execute action {:action=>LogStash::PipelineAction::Create/pipeline_id:main, :exception=>"Java::JavaLang::IllegalStateException", :message=>"Unable to configure plugins: (NameError) cannot link Java class org.logstash.filters.DateFilter org/logstash/filters/DateFilter has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0", :backtrace=>["org.logstash.config.ir.CompiledPipeline.<init>(CompiledPipeline.java:119)", "org.logstash.execution.JavaBasePipelineExt.initialize(JavaBasePipelineExt.java:86)", "org.logstash.execution.JavaBasePipelineExt$INVOKER$i$1$0$initialize.call(JavaBasePipelineExt$INVOKER$i$1$0$initialize.gen)", "org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:837)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuper(IRRuntimeHelpers.java:1169)", "org.jruby.ir.runtime.IRRuntimeHelpers.instanceSuperSplatArgs(IRRuntimeHelpers.java:1156)", "org.jruby.ir.targets.InstanceSuperInvokeSite.invoke(InstanceSuperInvokeSite.java:39)", "opt.buildAgent.work.$3708ba9c0ec12969.build.app_srv.appserver.applications.logstash.app.logstash_minus_core.lib.logstash.java_pipeline.RUBY$method$initialize$0(/opt/buildAgent/work/3708ba9c0ec12969/build/app_srv/appserver/applications/logstash/app/logstash-core/lib/logstash/java_pipeline.rb:47)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:80)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)", "org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:333)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:87)", "org.jruby.RubyClass.newInstance(RubyClass.java:939)", "org.jruby.RubyClass$INVOKER$i$newInstance.call(RubyClass$INVOKER$i$newInstance.gen)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)", "opt.buildAgent.work.$3708ba9c0ec12969.build.app_srv.appserver.applications.logstash.app.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0(/opt/buildAgent/work/3708ba9c0ec12969/build/app_srv/appserver/applications/logstash/app/logstash-core/lib/logstash/pipeline_action/create.rb:52)", "opt.buildAgent.work.$3708ba9c0ec12969.build.app_srv.appserver.applications.logstash.app.logstash_minus_core.lib.logstash.pipeline_action.create.RUBY$method$execute$0$__VARARGS__(/opt/buildAgent/work/3708ba9c0ec12969/build/app_srv/appserver/applications/logstash/app/logstash-core/lib/logstash/pipeline_action/create.rb:50)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:80)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207)", "opt.buildAgent.work.$3708ba9c0ec12969.build.app_srv.appserver.applications.logstash.app.logstash_minus_core.lib.logstash.agent.RUBY$block$converge_state$2(/opt/buildAgent/work/3708ba9c0ec12969/build/app_srv/appserver/applications/logstash/app/logstash-core/lib/logstash/agent.rb:383)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:138)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:58)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:52)", "org.jruby.runtime.Block.call(Block.java:139)", "org.jruby.RubyProc.call(RubyProc.java:318)", "org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:105)", "java.lang.Thread.run(Thread.java:748)"]}
[2021-12-14T15:35:05,397][ERROR][logstash.agent           ] An exception happened when converging configuration {:exception=>LogStash::Error, :message=>"Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`"}
[2021-12-14T15:35:05,416][FATAL][logstash.runner          ] An unexpected error occurred! {:error=>#<LogStash::Error: Don't know how to handle `Java::JavaLang::IllegalStateException` for `PipelineAction::Create<main>`>, :backtrace=>["org/logstash/execution/ConvergeResultExt.java:135:in `create'", "org/logstash/execution/ConvergeResultExt.java:60:in `add'", "/opt/buildAgent/work/3708ba9c0ec12969/build/app_srv/appserver/applications/logstash/app/logstash-core/lib/logstash/agent.rb:396:in `block in converge_state'"]}
[2021-12-14T15:35:05,427][FATAL][org.logstash.Logstash    ] Logstash stopped processing because of an error: (SystemExit) exit
org.jruby.exceptions.SystemExit: (SystemExit) exit
	at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:747) ~[jruby-complete-9.2.20.1.jar:?]
	at org.jruby.RubyKernel.exit(org/jruby/RubyKernel.java:710) ~[jruby-complete-9.2.20.1.jar:?]
	at opt.buildAgent.work.$3708ba9c0ec12969.build.app_srv.appserver.applications.logstash.app.lib.bootstrap.environment.<main>(/opt/buildAgent/work/3708ba9c0ec12969/build/app_srv/appserver/applications/logstash/app/lib/bootstrap/environment.rb:94) ~[?:?]

The error above appears while running on Java 8 and not appears on Java 11.
I found another related topic Logstash GeoIP filter plugin not working after update to 7.15.1
Is there a solution to start Logstash 7.16.1 on Java 8?

That got me too, see: Logstash 7.16.1 Release Notes | Logstash Reference [7.16] | Elastic

2 Likes

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