开发者

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.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜