Skip to content

LS 6.2.3: JVM heap size filling up with default jvm.options (invokedynamic and jit.threshold is set)  #9346

@marioplumbarius

Description

@marioplumbarius
  • Version:
    6.2.3
  • Operating System:
    RHEL
    jruby 9.1.13.0 (2.3.3) 2017-09-06 8e1c115 OpenJDK 64-Bit Server VM 25.162-b12 on 1.8.0_162-b12 +jit [linux-x86_64]
  • Config File (if you have sensitive info, please remove it):
input {
  udp {
    port => 55514
    type => syslog
    queue_size => 20000
    receive_buffer_bytes => 134217728
    workers => 2
    codec => plain {
      charset => "ISO-8859-1"
    }
  }
}

filter {}
output {}

  • When I remove the following settings, the issue disappears.
# Turn on JRuby invokedynamic
-Djruby.compile.invokedynamic=true
# Force Compilation
-Djruby.jit.threshold=0
  • Sample Data:
"{\"type\":\"syslog\",\"@timestamp\":\"2018-04-09T15:46:03.071Z\",\"host\":\"127.0.0.1\",\"message\":\"<38>2018-04-09T15:46:03 localhost prg00000[1234]: seq: 0000057360, thread: 0000, runid: 1523288758, stamp: 2018-04-09T15:46:03 PADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADDPADD\",\"@version\":\"1\"}"
  • Steps to Reproduce:
  1. Start Logstash
  2. Send 10k sample data per second
  3. Logstash is going to crash and restart

This same piece of come used to handle up to 40k events per second.

UPDATE: I've just confirmed the issue raises even when only the udp input is set.

Metadata

Metadata

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions