Merge "rpc: reuse existing defaultdict when setting max_timeout"

This commit is contained in:
Zuul 2024-02-21 01:24:17 +00:00 committed by Gerrit Code Review
commit 5f76f027cc
1 changed files with 4 additions and 5 deletions

View File

@ -128,11 +128,10 @@ class _BackingOffContextWrapper(_ContextWrapper):
@classmethod
def set_max_timeout(cls, max_timeout):
if max_timeout < cls.get_max_timeout():
cls._METHOD_TIMEOUTS = collections.defaultdict(
lambda: max_timeout, **{
k: min(v, max_timeout)
for k, v in cls._METHOD_TIMEOUTS.items()
})
cls._METHOD_TIMEOUTS.default_factory = lambda: max_timeout
for k, v in cls._METHOD_TIMEOUTS.items():
if v > max_timeout:
cls._METHOD_TIMEOUTS[k] = max_timeout
cls._max_timeout = max_timeout
def call(self, ctxt, method, **kwargs):