Browse Source

Fix Rails cache namespace being overriden with `v2` for cached statuses (#24202)

closed-social-glitch-2
Claire 1 year ago
committed by GitHub
parent
commit
2626097869
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions
  1. +2
    -2
      app/controllers/concerns/cache_concern.rb
  2. +4
    -0
      app/models/status.rb

+ 2
- 2
app/controllers/concerns/cache_concern.rb View File

@ -187,7 +187,7 @@ module CacheConcern
return [] if raw.empty?
cached_keys_with_value = begin
Rails.cache.read_multi(*raw, namespace: 'v2').transform_keys(&:id).transform_values { |r| ActiveRecordCoder.load(r) }
Rails.cache.read_multi(*raw).transform_keys(&:id).transform_values { |r| ActiveRecordCoder.load(r) }
rescue ActiveRecordCoder::Error
{} # The serialization format may have changed, let's pretend it's a cache miss.
end
@ -200,7 +200,7 @@ module CacheConcern
uncached = klass.where(id: uncached_ids).with_includes.index_by(&:id)
uncached.each_value do |item|
Rails.cache.write(item, ActiveRecordCoder.dump(item), namespace: 'v2')
Rails.cache.write(item, ActiveRecordCoder.dump(item))
end
end

+ 4
- 0
app/models/status.rb View File

@ -140,6 +140,10 @@ class Status < ApplicationRecord
REAL_TIME_WINDOW = 6.hours
def cache_key
"v2:#{super}"
end
def searchable_by(preloaded = nil)
ids = []

Loading…
Cancel
Save