rails 2.3.14 fragment caching, memcache-client 1.8.5
I'm using view frag开发者_如何学运维ment caching in rails 2.3.14, memcache-client 1.8.5. Unfortunately it gives error:
ArgumentError: undefined class/module ActiveSupport::Cache::Entry
with backtrace:
[GEM_ROOT]/gems/memcache-client-1.8.5/lib/memcache.rb:250:in `load'
[GEM_ROOT]/gems/memcache-client-1.8.5/lib/memcache.rb:250:in `get_without_newrelic_trace'
[GEM_ROOT]/gems/memcache-client-1.8.5/lib/memcache.rb:886:in `with_server'
[GEM_ROOT]/gems/memcache-client-1.8.5/lib/memcache.rb:246:in `get_without_newrelic_trace' (eval):7:in `get'
[GEM_ROOT]/gems/newrelic_rpm-3.1.1/lib/new_relic/agent/method_tracer.rb:242:in `trace_execution_scoped' (eval):4:in `get'
[GEM_ROOT]/gems/activesupport-2.3.14/lib/active_support/cache/mem_cache_store.rb:63:in `read'
[GEM_ROOT]/gems/activesupport-2.3.14/lib/active_support/cache/strategy/local_cache.rb:39:in `read'
[GEM_ROOT]/gems/actionpack-2.3.14/lib/action_controller/caching/fragments.rb:70:in `read_fragment'
[GEM_ROOT]/gems/actionpack-2.3.14/lib/action_controller/benchmarking.rb:30:in `benchmark'
[GEM_ROOT]/gems/actionpack-2.3.14/lib/action_controller/caching/fragments.rb:69:in `read_fragment'
[GEM_ROOT]/gems/actionpack-2.3.14/lib/action_controller/caching/fragments.rb:39:in `fragment_for'
[GEM_ROOT]/gems/actionpack-2.3.14/lib/action_view/helpers/cache_helper.rb:35:in `cache' app/views/layouts/_mini_calendar.erb:37:in `_run_erb_app47views47layouts47_mini_calendar46erb_locals_mini_calendar_object'
[GEM_ROOT]/gems/actionpack-2.3.14/lib/action_view/renderable.rb:34:in `send'
.......................
Why is it trying to load ActiveSupport::Cache::Entry which is not present in rails 2.3?
Thanks!
The answer is simple. On one server we have rails 2.3 and rails 3 app, that are caching something to one memcache server with same name. So rails 2.3 app tried to fetch fragment cached by rails 3 app.
精彩评论