rpc: reuse existing defaultdict when setting max_timeout

Change-Id: I6655f075bdf67e34bde97770760c6616bc582ea0
This commit is contained in:
Ihar Hrachyshka 2024-02-14 16:38:03 +00:00
parent 631e3f995c
commit 577c7bae0d

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):