Open gib opened 11 years ago
This seems more of an issue with the underlying cache store, per rails/rails#10894, but I'm taking a look into a reasonable fix within Garner.
So, rails/rails#4907 is actually the more relevant issue, and rails/rails#4911 fixes this. In lieu of upgrading to Rails 4.0, I recommend something like the following in an initializer:
silence_warnings do
ActiveSupport::Cache::FileStore::FILENAME_MAX_SIZE = 228
end
Cool! Thanks!!
Setting the max size didn't work. One workaround is to use a MemoryStore. Another is a possible monkey patch:
module Garner
module Cache
private
class << self
alias_method :_compound_key, :compound_key
def compound_key(bindings, key_hash)
key = _compound_key(bindings, key_hash)
Digest::SHA1.hexdigest(key.to_s) if key
end
end
end
end
File paths of unlimited length seem problematic even if we're able to work around this particular obstacle. Are there any drawbacks to using the digest instead?
The following error came up in development with long URL cache keys:
Thanks for the speedy response and suggestions @fancyremarker!