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
this fix, which is a uber hack, shows quite clearly the bug - i'm
*really* curious if anyone else has seen this behaviour
This has been reported a few times before, but given that it only
happens during the initial requests, it's less likely to be noticed.
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....
Yeah, marshal doesn't trigger any of the const_missing hooks that we
rely on for dependency loading. There's not a lot we can do here.
thoughts?
If you're using 2.2 or later the preloading of classes and templates
will catch 99.999% of this now as all files in lib/ app/models and
app/controllers are required before the first request is processed.
It's not really a bug per se, just a limitation in that un-marshaling
doesn't autoload. It'd be nice to see Rails.cache support this type
of behavior though.