Skip to content
This repository has been archived by the owner on Dec 7, 2020. It is now read-only.

"uninitialized constant JBUNDLER_CLASSPATH" error while running logstash #35

Closed
prashant-nair opened this issue Sep 8, 2014 · 9 comments

Comments

@prashant-nair
Copy link

Hi,

I am newbie to most of the stuff like logstash, kafka. I have a kafka server running and have my logs pushed in to kafka but when I try to bin/logstash agent -f logstash.conf --debug I get the following error:

The error reported is:
uninitialized constant JBUNDLER_CLASSPATH
org/jruby/RubyModule.java:2690:in const_missing' /root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/jruby-kafka-0.1.1-java/lib/jruby-kafka.rb:8:in(root)'
org/jruby/RubyKernel.java:1085:in require' file:/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:135:inrequire'
file:/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:133:in require' file:/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:124:inrequire'
/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/polyglot-0.3.4/lib/polyglot.rb:65:in require' /root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/inputs/kafka.rb:1:in(root)'
/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/inputs/kafka.rb:31:in register' org/jruby/RubyArray.java:1613:ineach'
/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/pipeline.rb:135:in start_inputs' /root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/pipeline.rb:134:instart_inputs'
/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/pipeline.rb:72:in run' /root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/runner.rb:168:inrun'
org/jruby/RubyProc.java:271:in call' /root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/agent.rb:139:inexecute'

I have kept the setup to a bare minimum with just one kafka broker. Here is my config file:

input {
kafka {
zk_connect => "localhost:2181"
group_id => "logs"
topic_id => "logstash"
reset_beginning => false
consumer_threads => 1
consumer_restart_on_error => true
consumer_restart_sleep_ms => 100
decorate_events => true
}
}
output {
kafka {
broker_list => "localhost:9092"
topic_id => "logstash"
compression_codec => "snappy"
request_required_acks => 1
codec => plain {
format => "%{message}"
}
}
}

@joekiller
Copy link
Owner

What os are you running this on? How was logstash built, ie using the make
script manually?
On Sep 8, 2014 2:25 AM, "prashant-nair" notifications@github.com wrote:

Hi,

I am newbie to most of the stuff like logstash, kafka. I have a kafka
server running and have my logs pushed in to kafka but when I try to
bin/logstash agent -f logstash.conf --debug I get the following error:

The error reported is:
uninitialized constant JBUNDLER_CLASSPATH
org/jruby/RubyModule.java:2690:in const_missing'

/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/jruby-kafka-0.1.1-java/lib/jruby-kafka.rb:8:in
(root)'
org/jruby/RubyKernel.java:1085:in require'

file:/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:135:in
require'
file:/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:133:in
require'

file:/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/jar/jruby-complete-1.7.11.jar!/META-INF/jruby.home/lib/ruby/shared/rubygems/core_ext/kernel_require.rb:124:in
require'
/root/logstash-kafka/build/tarball/logstash-1.4.2/vendor/bundle/jruby/1.9/gems/polyglot-0.3.4/lib/polyglot.rb:65:in
require'

/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/inputs/kafka.rb:1:in
(root)'
/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/inputs/kafka.rb:31:in
register'
org/jruby/RubyArray.java:1613:ineach'
/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/pipeline.rb:135:in
start_inputs'

/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/pipeline.rb:134:in
start_inputs'
/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/pipeline.rb:72:in
run'

/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/runner.rb:168:in
run'
org/jruby/RubyProc.java:271:in call'

/root/logstash-kafka/build/tarball/logstash-1.4.2/lib/logstash/agent.rb:139:in
execute'

I have kept the setup to a bare minimum with just one kafka broker. Here
is my config file:

input {
kafka {
zk_connect => "localhost:2181"
group_id => "logs"
topic_id => "logstash"
reset_beginning => false
consumer_threads => 1
consumer_restart_on_error => true
consumer_restart_sleep_ms => 100
decorate_events => true
}
}
output {
kafka {
broker_list => "localhost:9092"
topic_id => "logstash"
compression_codec => "snappy"
request_required_acks => 1
codec => plain {
format => "%{message}"
}
}
}


Reply to this email directly or view it on GitHub
#35.

@prashant-nair
Copy link
Author

I built logstash by running "make tarball" and my OS is CentOS 6.

@joekiller
Copy link
Owner

Okay this may be a bug introduced with the latest jruby kafka.
On Sep 8, 2014 10:53 PM, "prashant-nair" notifications@github.com wrote:

I built logstash by running "make tarball" and my OS is CentOS 6.


Reply to this email directly or view it on GitHub
#35 (comment)
.

@prashant-nair
Copy link
Author

is there any workaround? or are you going to fix this anytime soon? Appreciate your help!

@derryos
Copy link

derryos commented Sep 9, 2014

I worked around this (note: not a ruby/jruby/kafka expert by any means) by commenting out the if clause at the top of:
vendor/bundle/jruby/1.9/gems/jruby-kafka-0.1.1-java/lib/jruby-kafka.rb

e.g.:
#if not JBUNDLER_CLASSPATH and ENV['KAFKA_PATH']
require 'jruby-kafka/loader'
#end

@zhaoxuan
Copy link

zhaoxuan commented Sep 9, 2014

I got some problem.
I set jruby-kafka = 0.1.0 in logstash-kafka.gemspec.

@joekiller
Copy link
Owner

Revert to 0.1.0, as @zhaoxuan suggested, while building for now. I'll try to fix soon.

@joekiller
Copy link
Owner

Hey guys I pushed a version 0.1.2 that I think fixes the problem. Could you give it a shot?

@prashant-nair
Copy link
Author

Thanks Joe. Its working now!! I am closing this issue now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants