colinsurprenant / redstorm

JRuby on Storm
Other
298 stars 56 forks source link

undefined method 'new' #62

Closed adsummos closed 11 years ago

adsummos commented 11 years ago

We occasionally see the following error

java.lang.RuntimeException: org.jruby.exceptions.RaiseException: (NoMethodError) undefined method new' for main:Object at backtype.storm.utils.DisruptorQueue.consumeBatchToCursor(DisruptorQueue.java:87) at backtype.storm.utils.DisruptorQueue.consumeBatchWhenAvailable(DisruptorQueue.java:58) at backtype.storm.disruptor$consume_batch_when_available.invoke(disruptor.clj:62) at backtype.storm.daemon.executor$fn__4022$fn__4031$fn__4078.invoke(executor.clj:658) at backtype.storm.util$async_loop$fn__437.invoke(util.clj:377) at clojure.lang.AFn.run(AFn.java:24) at java.lang.Thread.run(Thread.java:679) Caused by: org.jruby.exceptions.RaiseException: (NoMethodError) undefined methodnew' for main:Object

It generally happens soon after the topology first starts processing tuples and the topology requires restarting when it occurs

colinsurprenant commented 11 years ago

It does look like a Storm issue. Did you check in the Storm issues and/or mailing lists? In any case, I will be updating dependencies soon and should bring Storm to 0.8.2.

adsummos commented 11 years ago

The problem is that is a ruby error message. I can try looking in Storm issues for Java initialization errors

colinsurprenant commented 11 years ago

right. «undefined method new for main:Object»

you don't have any more log details than this? Is it possible to trace the source of the problem? Is it reproducible?

adsummos commented 11 years ago

I checked for some more context in Splunk and it looks like the error is coming from the Mongo jruby driver. This is the line:

dec = Java::OrgJbson::RubyBSONDecoder.new

It is not reproducible, but it has happened several times. Maybe a jruby issue?

colinsurprenant commented 11 years ago

which version of JRuby and mongo-ruby-driver are u using?

adsummos commented 11 years ago

could be this https://jira.mongodb.org/browse/RUBY-550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel we are upgrading to see if it fixes the problem

colinsurprenant commented 11 years ago

well, its does look like it, and they say:

When running jruby the issue may present itself as

NoMethodError: undefined method `new' for main:Object

plus the fact that it is occurring randomly matches the reported problem behaviour.

colinsurprenant commented 11 years ago

Did you finally solve this or is it still an open issue? Just want to see if I need to spend time on this for the next redstorm release I would like to wrap this week.

adsummos commented 11 years ago

we believe it's a bug in the mongo ruby driver

On May 7, 2013, at 17:21, "Colin Surprenant" notifications@github.com<mailto:notifications@github.com> wrote:

Did you finally solve this or is it still an open issue? Just want to see if I need to spend time on this for the next redstorm release I would like to wrap this week.

— Reply to this email directly or view it on GitHubhttps://github.com/colinsurprenant/redstorm/issues/62#issuecomment-17571499.

colinsurprenant commented 11 years ago

Ok. So I'll go ahead and close this - it looks like the issue was resolved in Mongo https://jira.mongodb.org/browse/RUBY-550?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel - If you are still having problems, let me know and I'll run some tests on my side to try to reproduce it and help debug that.