org.jruby.exceptions.JumpException$BreakJump in /logstash/inputs/ganglia.rb:38

Description

I am getting:
Exception in thread "RubyThread-5: file:/opt/logstash/agent/lib/logstash-1.2.2-flatjar-backtrace.jar!/logstash/inputs/ganglia.rb:38" org.jruby.exceptions.JumpException$BreakJump

when trying to process the first ganglia packet in version 1.2.X . It used to work fine with version 1.1.13 .

I have filed a bug with the JRUBY folks at https://github.com/jruby/jruby/issues/1268 since I suspect there is a problem in JRUBY.

Activity

Show:
Luis F. Ortiz
December 2, 2013, 11:27 PM
Edited

OK. This patch seems to work pretty good:

I get this as a JSON event:

Not perfect. The blank units field is troubling.

Jordan Sissel
December 3, 2013, 2:14 AM

The 'break if ...' on line 42 (in v1.2.2) is the problem. Changing this to simply use another means to abort than 'break' (which isn't valid at all in this case)

Jordan Sissel
December 3, 2013, 4:44 AM
Jordan Sissel
December 3, 2013, 4:57 AM

Should be fixed in next release

Luis F. Ortiz
December 3, 2013, 12:22 PM

That does fix the bug originally reported, but it leads to a plugin that does not work.
The other changes fix the root cause of the error (the reference to the non-existent variable, "source") and the run method that starts a thread and then returns, which causes the input worker to call terminate on the plugin before it has even started!

That gets the plugin to run, but output incorrect information.
The remaining changes fix the broken functionality.

Fixed

Assignee

Jordan Sissel

Reporter

Luis F. Ortiz

Labels

Fix versions

Affects versions

Configure