Ruby on Rails Wednesday, June 4, 2014

I am running jruby (1.7.3) & rails 2.3.17 application whose apis are exposed to outside app. When I add "config.threadsafe!" in my development.rb/production.rb & hit lot many api requests in a second then I am getting following errors randomly for some of the api requests:

  1. TypeError (NilClass can't be coerced into Float)
  2. RuntimeError (can't add a new key into hash during iteration)
  3. Rendering /appl/mml/tomcat/server/mml-api1/webapps/api/500.html (500 Internal Server Error)
  4. Status: 500 Internal Server Error

Does newer jruby version solves this issue? But my application does not support jruby > 1.7.3.

Also even if I add the affecting method in below synchronize block then also it is not synchronizing that method. Note : I have added "config.threadsafe!" in my development.rb & production.rb

 semaphore = Mutex.new          thread = Thread.new {            semaphore.synchronize {                                     #affecting code/method                  }                 }

But if I remove "config.threadsafe!" from my development.rb/production.rb & hit huge number of requests I am not getting any error but this time performance is impacted.

Is there any solution to remove these errors without affecting the performance?

--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscribe@googlegroups.com.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/9c336c4b-2fec-4611-a8d9-8f9aa81d83e6%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments:

Post a Comment