logstash-filter-aggregate
logstash-filter-aggregate copied to clipboard
Pipeline crash when the aggregate maps is loaded from a file.aggregate
Logstash information:
- Logstash version: 7.17.5
- logstash-filter-aggregate version: 2.10.0
- Logstash installation source: docker => elastic/logstash:7.17.5
- Bundled JVM used
OS version: Linux x86_64 x86_64 x86_64 GNU/Linux
Steps to reproduce:
1.Stop logstash pipeline with kill - 15 pid SIGTERM => This will automatically save the aggregate maps to /usr/share/logstash/data/plugins/inputs/file/file.aggregate 2.Start logstash pipeline => This willy load aggregate maps (file.aggregate) 3.Pipeline crash with following error:
worker0 ERROR An exception occurred processing Appender plain_console java.lang.NullPointerException at org.logstash.ext.JrubyTimestampExtLibrary$RubyTimestamp.ruby_to_iso8601(JrubyTimestampExtLibrary.java:131) at org.logstash.ext.JrubyTimestampExtLibrary$RubyTimestamp.ruby_inspect(JrubyTimestampExtLibrary.java:125) at org.logstash.ext.JrubyTimestampExtLibrary$RubyTimestamp$INVOKER$i$0$0$ruby_inspect.call(JrubyTimestampExtLibrary$RubyTimestamp$INVOKER$i$0$0$ruby_inspect.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:355) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144) at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187) at org.jruby.RubyObject.inspect(RubyObject.java:443) at org.jruby.RubyHash$4.visit(RubyHash.java:855) at org.jruby.RubyHash$4.visit(RubyHash.java:851) at org.jruby.RubyHash.visitLimited(RubyHash.java:698) at org.jruby.RubyHash.visitAll(RubyHash.java:683) at org.jruby.RubyHash.inspectHash(RubyHash.java:846) at org.jruby.RubyHash.inspect(RubyHash.java:883) at org.jruby.RubyHash$INVOKER$i$0$0$inspect.call(RubyHash$INVOKER$i$0$0$inspect.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:355) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144) at org.jruby.RubyBasicObject.rbInspect(RubyBasicObject.java:1187) at org.jruby.RubyObject.inspect(RubyObject.java:443) at org.jruby.RubyHash$4.visit(RubyHash.java:855) at org.jruby.RubyHash$4.visit(RubyHash.java:851) at org.jruby.RubyHash.visitLimited(RubyHash.java:698) at org.jruby.RubyHash.visitAll(RubyHash.java:683) at org.jruby.RubyHash.inspectHash(RubyHash.java:846) at org.jruby.RubyHash.inspect(RubyHash.java:883) at org.jruby.RubyHash.to_s(RubyHash.java:945) at org.jruby.RubyHash$INVOKER$i$0$0$to_s.call(RubyHash$INVOKER$i$0$0$to_s.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:355) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:144) at org.jruby.RubyObject.toRubyString(RubyObject.java:245) at org.jruby.RubyObject.toString(RubyObject.java:254) at java.base/java.lang.String.valueOf(String.java:2951) at java.base/java.lang.StringBuilder.append(StringBuilder.java:172) at org.logstash.log.StructuredMessage.getFormattedMessage(StructuredMessage.java:86) at org.apache.logging.log4j.core.pattern.MessagePatternConverter$SimpleMessagePatternConverter.format(MessagePatternConverter.java:122) at org.apache.logging.log4j.core.pattern.PatternFormatter.format(PatternFormatter.java:44) at org.apache.logging.log4j.core.layout.PatternLayout$PatternFormatterPatternSerializer.toSerializable(PatternLayout.java:385) at org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:241) at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:226) at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:60) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:197) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:190) at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:181) at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161) at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:134) at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125) at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89) at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:542) at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:500) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:483) at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417) at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82) at org.apache.logging.log4j.core.Logger.log(Logger.java:161) at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205) at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159) at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142) at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2034) at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1899) at org.apache.logging.log4j.spi.AbstractLogger.error(AbstractLogger.java:866) at org.logstash.log.LoggerExt.rubyError(LoggerExt.java:127) at org.logstash.log.LoggerExt$INVOKER$i$0$1$rubyError.call(LoggerExt$INVOKER$i$0$1$rubyError.gen) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:819) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208) at org.jruby.internal.runtime.methods.JavaMethod$JavaMethodN.call(JavaMethod.java:835) at org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:207) at usr.share.logstash.vendor.bundle.jruby.$2_dot_5_dot_0.gems.logstash_minus_filter_minus_aggregate_minus_2_dot_10_dot_0.lib.logstash.filters.aggregate.RUBY$block$filter$1(/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-aggregate-2.10.0/lib/logstash/filters/aggregate.rb:220) at org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:148) at org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:66) at org.jruby.runtime.Block.yieldSpecific(Block.java:153) at org.jruby.ext.thread.Mutex.synchronize(Mutex.java:164) at usr.share.logstash.vendor.bundle.jruby.$2_dot_5_dot_0.gems.logstash_minus_filter_minus_aggregate_minus_2_dot_10_dot_0.lib.logstash.filters.aggregate.RUBY$method$filter$0(/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-aggregate-2.10.0/lib/logstash/filters/aggregate.rb:181) at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:106) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140) at org.jruby.ir.targets.InvokeSite.fail(InvokeSite.java:278) at usr.share.logstash.logstash_minus_core.lib.logstash.filters.base.RUBY$method$do_filter$0(/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:159) at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:106) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140) at org.jruby.ir.targets.InvokeSite.fail(InvokeSite.java:278) at usr.share.logstash.logstash_minus_core.lib.logstash.filters.base.RUBY$block$multi_filter$1(/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:178) at org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:148) at org.jruby.runtime.BlockBody.yield(BlockBody.java:106) at org.jruby.runtime.Block.yield(Block.java:184) at org.jruby.RubyArray.each(RubyArray.java:1821) at usr.share.logstash.logstash_minus_core.lib.logstash.filters.base.RUBY$method$multi_filter$0(/usr/share/logstash/logstash-core/lib/logstash/filters/base.rb:175) at org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:106) at org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200) at org.logstash.config.ir.compiler.FilterDelegatorExt.doMultiFilter(FilterDelegatorExt.java:127) at org.logstash.config.ir.compiler.AbstractFilterDelegatorExt.multiFilter(AbstractFilterDelegatorExt.java:134)