Logstash GeoIP filter plugin not working after update to 7.15.1

Hi,

I am running a logstash server with 7.14.0 and one of my pipelines uses the geoip filter plugin. After upgrade to 7.15.1, the pipeline refuses to start with an error like

[2021-10-18T17:22:08,987][ERROR][logstash.javapipeline    ][0_main] Pipeline error {:pipeline_id=>"0_main", :exception=>#<NameError: cannot link Java class org.logstash.filters.geoip.GeoIPFilter org/logstash/filters/geoip/GeoIPFilter 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/jruby/javasupport/JavaPackage.java:252:in `method_missing'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-geoip-7.2.3-java/lib/logstash/filters/geoip.rb:152:in `setup_filter'", "/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-geoip-7.2.3-java/lib/logstash/filters/geoip.rb:109:in `register'", "org/logstash/config/ir/compiler/AbstractFilterDelegatorExt.java:75:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:228:in `block in register_plugins'", "org/jruby/RubyArray.java:1820:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:227:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:586:in `maybe_setup_out_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:240:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:185:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:137:in `block in start'"], "pipeline.sources"=>["/etc/logstash/0_main/lconf_0_inputs/0001_netflow.conf", "/etc/logstash/0_main/lconf_1_filters/1000_all_common.conf", "/etc/logstash/0_main/lconf_1_filters/1001_netflow.conf", "/etc/logstash/0_main/lconf_1_filters/1090_ipmap.conf", "/etc/logstash/0_main/lconf_1_filters/1091_localtime.conf", "/etc/logstash/0_main/lconf_1_filters/1098_add_current_timestamp.conf", "/etc/logstash/0_main/lconf_1_filters/1099_metric.conf", "/etc/logstash/0_main/lconf_2_outputs/2000_metric.conf", "/etc/logstash/0_main/lconf_2_outputs/2010_elastic.conf"], :thread=>"#<Thread:0x4e03093f@/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:125 run>"}

I am using the logstash RPM as available on the download page. Any ideas as to what I might be doing wrong?

Thanks,
Dheeraj

That is saying that the geoip filter was compiled using Java 11, but your JRE is Java 8. The support matrix says that Oracle 1.8 is supported, but I don't think that can be true of the filter was compiled using 11.

If you are using the bundled JDK then you could try running logstash with a Java 11 JRE (I do not think a JDK is required).

2 Likes

Indeed! Updating system JDK to 11 worked! Thank You!

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