Having problems with some asset caching, using Dalli on Heroku with Rails 3.1. These are the errors in my logs:
2011-09-12T16:37:52+00:00 app[web.1]: Started GET "/assets/bg.png" for 68.33.34.109 at 2011-09-12 16:37:52 +0000
2011-09-12T16:37:52+00:00 app[web.1]: cache: [GET /assets/bg.png] miss, store
2011-09-12T16:37:52+00:00 app[web.1]: !! Rack application returned nil body. Probably you wanted it to be an empty string?
2011-09-12T16:37:52+00:00 app[web.1]: !! Unexpected error while processing request: undefined method `each' for nil:NilClass
2011-09-12T16:37:52+00:00 app[web.1]: cache: [GET /assets/screenshots/2-76481ad827eb34e33208c68196c57401.png] miss
2011-09-12T16:37:52+00:00 heroku[router]: Error H13 (Connection closed without response) -> GET countr.boxfirepress.com/assets/bg.png dyno=web.1 queue= wait= service= status=503 bytes=
2011-09-12T16:37:52+00:00 heroku[router]: GET countr.boxfirepress.com/assets/screenshots/2-76481ad827eb34e33208c68196c57401.png dyno=web.1 queue=0 wait=0ms service=5ms status=200 bytes=48355
2011-09-12T16:37:52+00:00 app[web.1]: cache: [GET /assets/screenshots/3-4fd3fe37a5915dec391663720fcbb7d4.png] miss
2011-09-12T16:37:52+00:00 heroku[router]: GET countr.boxfirepress.com/assets/screenshots/3-4fd3fe37a5915dec391663720fcbb7d4.png dyno=web.1 queue=0 wait=0ms service=8ms status=200 bytes=26464
And, in the console:
irb(main):001:0> Rails.cache.clear
localhost:11211 failed (count: 0)
Dalli::NetworkError: localhost:11211 is down:
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/dalli/server.rb:43:in `request'
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/dalli/options.rb:18:in `block in request'
from /usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize'
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/dalli/options.rb:17:in `request'
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/dalli/client.rb:159:in `block in flush'
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/dalli/client.rb:159:in `map'
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/dalli/client.rb:159:in `flush'
from /app/vendor/bundle/ruby/1.9.1/gems/dalli-1.0.5/lib/active_support/cache/dalli_store.rb:103:in `clear'
from /app/vendor/bundle/ruby/1.9.1/gems/activesupport-3.1.0/lib/active_support/cache/strategy/local_cache.rb:88:in `clear'
from (irb):1
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:45:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands/console.rb:8:in `start'
from /app/vendor/bundle/ruby/1.9.1/gems/railties-3.1.0/lib/rails/commands.rb:40:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Any thoughts about what's going on?
It looks like Dalli is not connection to a Memcache server? Have you enabled the Heroku Memcache addon (or otherwise configured a Memcache server)?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With