Reuse fallback's connection pool if identical
What does this MR do and why?
This MR optimises the connection pool efficiency for Redis wrapper classes with defined config_fallback
. e.g. DbLoadBalancing
which falls back to SharedState
, i.e. when configuration for redis.db_load_balancing.yml
or the db_load_balancing
key in redis.yml
is missing, DbLoadBalancing
uses the same config which SharedState
uses.
Instead of creating a new connection pool, DbLoadBalancing.with
uses SharedState.pool
. This avoids excessive connections to the same Redis instance especially for users who does not configure external Redises.
See #434908 (closed)
Screenshots or screen recordings
Screenshots are required for UI changes, and strongly recommended for all other merge requests.
Before | After |
---|---|
How to set up and validate locally
Numbered steps to set up and validate the change are strongly suggested.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.