Rails 2.3.2 server restart does not appear to clear fragment cache


#1

After upgrading to Rails 2.3.2 I am now experimenting with Rails
caching. I have cache enabled for one action in a few controllers.
This seems to work until I restart the server.

After restart, I get Invalid Authenticity token errors on POSTS from
pages that were previously cached. I’ve tried clearing the browser
cookies and cache and the problem does not appear to be on the browser
side.

I think the default cache store is Memory. I don’t see any cached
files on the disk.

I can clear the problem by visiting an uncached page on my application
and POSTing from there. My cache sweeper expires the cache in that
case. After this, everything works since I expire all cached URL’s.

Is there a way to definitely clear the Rails cache on server restart?

Also, please confirm that the default cache store is memory. I had
assumed that the memory cache would clear automatically on server
restart. Maybe my assumptions are not correct.

Thanks.


#2

On Thu, Mar 26, 2009 at 6:55 PM, Sudhir removed_email_address@domain.invalid wrote:

I think the default cache store is Memory. I don’t see any cached
files on the disk.

I can clear the problem by visiting an uncached page on my application
and POSTing from there. My cache sweeper expires the cache in that
case. After this, everything works since I expire all cached URL’s.

Is there a way to definitely clear the Rails cache on server restart?

The following should work for you:

rake tmp:cache:clear

Thus, you might want to invoke the above when you start/restart

your server.

Also, please confirm that the default cache store is memory. I had
assumed that the memory cache would clear automatically on server
restart. Maybe my assumptions are not correct.

Thanks.

In production, the default global cache is mem_cache_store.

Good luck,

-Conrad