Skip to content

Commit ffc0316

Browse files
committed
fix(s3fs): Consolidate retry logic for rate limits
1 parent efbe1e4 commit ffc0316

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

s3fs/core.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,10 +118,13 @@ async def _error_wrapper(func, *, args=(), kwargs=None, retries):
118118
except ClientError as e:
119119
logger.debug("Client error (maybe retryable): %s", e)
120120
err = e
121+
wait_time = asyncio.sleep(min(1.7**i * 0.1, 15))
121122
if "SlowDown" in str(e):
122-
await asyncio.sleep(min(1.7**i * 0.1, 15))
123+
await wait_time
124+
elif "reduce your request rate" in str(e):
125+
await wait_time
123126
elif "XAmzContentSHA256Mismatch" in str(e):
124-
await asyncio.sleep(min(1.7**i * 0.1, 15))
127+
await wait_time
125128
else:
126129
break
127130
except Exception as e:

0 commit comments

Comments
 (0)