chore: increase retry attempts, add logging to ease debugging

This commit is contained in:
gmega 2025-01-23 11:38:10 -03:00
parent 901d1f14e4
commit fa5eba0a2f
No known key found for this signature in database
GPG Key ID: 6290D34EAD824B18

View File

@ -15,6 +15,7 @@ from tenacity import (
wait_exponential,
stop_after_attempt,
retry_if_not_exception_type,
after_log,
)
from tenacity.stop import stop_base
from tenacity.wait import wait_base
@ -28,6 +29,9 @@ from benchmarks.deluge.agent.client import DelugeAgentClient
logger = logging.getLogger(__name__)
STOP_POLICY = stop_after_attempt(10)
WAIT_POLICY = wait_exponential(exp_base=2, min=4, max=16)
@dataclass(frozen=True)
class DelugeMeta:
@ -141,7 +145,9 @@ class DelugeNode(Node[Torrent, DelugeMeta], ExperimentComponent):
return self._rpc
@retry(
stop=stop_after_attempt(5), wait=wait_exponential(multiplier=1, min=4, max=16)
stop=STOP_POLICY,
wait=WAIT_POLICY,
after=after_log(logger, logging.WARNING),
)
def connect(self) -> Self:
return self._raw_connect()
@ -151,8 +157,8 @@ class DelugeNode(Node[Torrent, DelugeMeta], ExperimentComponent):
client.connect()
self._rpc = ResilientCallWrapper(
client,
wait_policy=wait_exponential(multiplier=1, min=4, max=16),
stop_policy=stop_after_attempt(5),
wait_policy=WAIT_POLICY,
stop_policy=STOP_POLICY,
)
return self
@ -184,6 +190,7 @@ class ResilientCallWrapper:
wait=self.wait_policy,
stop=self.stop_policy,
retry=retry_if_not_exception_type(RemoteException),
after=after_log(logger, logging.WARNING),
)
def _resilient_wrapper():
return self.node(*args, **kwargs)