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.
OK. This patch seems to work pretty good:
I get this as a JSON event:
Not perfect. The blank units field is troubling.
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)
Should be fixed in next release
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.