Skip to content

Commit 86172fc

Browse files
committed
PYTHON-5504 Start backoff on first retry not second
1 parent cec7bc2 commit 86172fc

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

pymongo/asynchronous/client_session.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -706,9 +706,9 @@ async def callback(session, custom_arg, custom_kwarg=None):
706706
start_time = time.monotonic()
707707
retry = 0
708708
while True:
709-
if retry > 1: # Implement exponential backoff after the first retry.
709+
if retry: # Implement exponential backoff on retry.
710710
jitter = random.random() # noqa: S311
711-
backoff = jitter * min(_BACKOFF_INITIAL * (2 ** (retry - 1)), _BACKOFF_MAX)
711+
backoff = jitter * min(_BACKOFF_INITIAL * (2**retry), _BACKOFF_MAX)
712712
await asyncio.sleep(backoff)
713713
retry += 1
714714
await self.start_transaction(

pymongo/synchronous/client_session.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -704,9 +704,9 @@ def callback(session, custom_arg, custom_kwarg=None):
704704
start_time = time.monotonic()
705705
retry = 0
706706
while True:
707-
if retry > 1: # Implement exponential backoff after the first retry.
707+
if retry: # Implement exponential backoff on retry.
708708
jitter = random.random() # noqa: S311
709-
backoff = jitter * min(_BACKOFF_INITIAL * (2 ** (retry - 1)), _BACKOFF_MAX)
709+
backoff = jitter * min(_BACKOFF_INITIAL * (2**retry), _BACKOFF_MAX)
710710
time.sleep(backoff)
711711
retry += 1
712712
self.start_transaction(read_concern, write_concern, read_preference, max_commit_time_ms)

0 commit comments

Comments
 (0)