Logstash 2.3.2 redis input crash

Hi,

I've recently upgraded logstash to version 2.3.2 and notice that since this upgrade, whenever a redis error occurs, logstash crashes wit the following exception:

:exception=>#<Redis::CommandError: OOM command not allowed when used memory > 'maxmemory'.>, :backtrace=>["/usr/local/logstash/vendor/bundle/jruby/1.9/gems/redis-3.3.0/lib/redis/client.rb:121:in call'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/redis-3.3.0/lib/redis.rb:1070:inrpush'",
"/usr/local/logstash/vendor/bundle/jruby/1.9/gems/redis-3.3.0/lib/redis.rb:58:in synchronize'", "/usr/local/logstash/vendor/jruby/lib/ruby/1.9/monitor.rb:211:inmon_synchronize'",
"/usr/local/logstash/vendor/jruby/lib/ruby/1.9/monitor.rb:210:in mon_synchronize'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/redis-3.3.0/lib/redis.rb:58:insynchronize'",
"/usr/local/logstash/vendor/bundle/jruby/1.9/gems/redis-3.3.0/lib/redis.rb:1069:in rpush'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-redis-2.0.5/lib/logstash/outputs/redis.rb:246:insend_to_redis'",
"org/jruby/RubyProc.java:281:in call'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json-2.1.4/lib/logstash/codecs/json.rb:42:inencode'",
"/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-output-redis-2.0.5/lib/logstash/outputs/redis.rb:152:in receive'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/outputs/base.rb:83:inmulti_receive'",
"org/jruby/RubyArray.java:1613:in each'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/outputs/base.rb:83:inmulti_receive'",
"/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/output_delegator.rb:130:in worker_multi_receive'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/output_delegator.rb:129:inworker_multi_receive'",
"/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/output_delegator.rb:114:in multi_receive'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:301:inoutput_batch'",
"org/jruby/RubyHash.java:1342:in each'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:301:inoutput_batch'",
"/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:232:in worker_loop'", "/usr/local/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.3.2-java/lib/logstash/pipeline.rb:201:instart_workers'"

Looks like a bug?

What version of redis?

Redis 3.0.7.

Hmm, I just noticed this:

[422170.826951] Out of memory: Kill process 1404 (java) score 242 or sacrifice child
[422170.827468] Killed process 1404, UID 498, (java) total-vm:10827908kB, anon-rss:1431992kB, file-rss:5548kB

So it seems redis caused the machine to go OOM and the kernel chose to kill logstash instead... Never mind, not a logstash issue. :slight_smile: