Use Redis session instance
Based on discussion and the work done in the PoC,
We'll have an ENV
variable that needs to be set to change the store that gets loaded in the session_store.rb
initializer. Setting the ENV When the ENV
variable is set, the store (Gitlab::Redis::Sessions) that's being used is our own implementation MultiStore, but the MultiStore
will actually talk directly to SharedState
by default. We can enable read-one-fallback
and write-both
with a feature flag.
We will also replace other usages of Gitlab::Redis::SharedState
in ActiveSession
and AnonymousSession
and all other places where we use sessoins with the Gitlab::Redis::Sessions
.
Edited by Nikola Milojevic