Getting random threading errors in jruby (1.7.3) & rails 2.3.17 application

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?

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs