i'm seeing issues with how caching interacts with auto const loading  
in production.  it's find if the objects cached are top-level  
themselves, but an object graph (model + associations) is cached i'll  
get errors when a production process first comes up (no models loaded)  
and hits the cache to get said object graph.

this fix, which is a uber hack, shows quite clearly the bug - i'm  
*really* curious if anyone else has seen this behaviour

the hack:

vendor/rails/activesupport/lib/active_support/cache/mem_cache_store.rb


  24       def read(key, options = nil)
  25         super
  26         @data.get(key, raw?(options))
  27       rescue MemCache::MemCacheError => e
  28         logger.error("MemCacheError (#{e}): #{e.message}")
  29         nil
  30       rescue ArgumentError => e
  31         message = e.message
  32         raise unless message =~ %r|undefined class/module|
  33         class_name = message.scan(%r/\w+/).last
  34         begin
  35           ActiveSupport::Dependencies.load_missing_constant  
ActiveRecord::Base, class_name
  36         rescue Object
  37           raise e
  38         end
  39       end


in case it isn't obvious this simply shows that rails const loading  
mechanism is not triggered from a Marshal.load, which makese sense  
actually....

thoughts?

a @ http://codeforpeople.com/
--
we can deny everything, except that we have the possibility of being  
better. simply reflect on that.
h.h. the 14th dalai lama




--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to