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:
- TypeError (NilClass can't be coerced into Float)
- RuntimeError (can't add a new key into hash during iteration)
- Rendering /appl/mml/tomcat/server/mml-api1/webapps/api/500.html (500 Internal Server Error)
- 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?
No comments:
Post a Comment