Module: Gitlab::Sessions::CacheStoreCoder

Extended by:
CacheStoreCoder
Included in:
CacheStoreCoder
Defined in:
lib/gitlab/sessions/cache_store_coder.rb

Instance Method Summary collapse

Instance Method Details

#load(payload) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/gitlab/sessions/cache_store_coder.rb', line 9

def load(payload)
  unmarshalled = super

  return unmarshalled if unmarshalled.is_a?(ActiveSupport::Cache::Entry)

  # The session payload coming from the old `RedisStore` is a hash,
  # whereas payload from `CacheStore` expects the hash to be wrapped in `ActiveSupport::Cache::Entry`.
  # The payload here is re-wrapped to make old sessions compatible when read by `CacheStore`.
  # https://gitlab.com/gitlab-com/gl-infra/data-access/durability/team/-/issues/35#note_2278902354
  ActiveSupport::Cache::Entry.new(unmarshalled)
end