Skip to content

Commit cfdfd51

Browse files
authored
Reraise RecursionError in Transport.perform_request()
1 parent eaabf88 commit cfdfd51

File tree

3 files changed

+6
-3
lines changed

3 files changed

+6
-3
lines changed

Diff for: elasticsearch/_async/http_aiohttp.py

+2-3
Original file line numberDiff line numberDiff line change
@@ -300,10 +300,9 @@ async def perform_request(
300300
raw_data = await response.text()
301301
duration = self.loop.time() - start
302302

303-
# We want to reraise a cancellation.
304-
except asyncio.CancelledError:
303+
# We want to reraise a cancellation or recursion error.
304+
except (asyncio.CancelledError, RecursionError):
305305
raise
306-
307306
except Exception as e:
308307
self.log_request_fail(
309308
method,

Diff for: elasticsearch/connection/http_requests.py

+2
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,8 @@ def perform_request(
166166
response = self.session.send(prepared_request, **send_kwargs)
167167
duration = time.time() - start
168168
raw_data = response.content.decode("utf-8", "surrogatepass")
169+
except RecursionError:
170+
raise
169171
except Exception as e:
170172
self.log_request_fail(
171173
method,

Diff for: elasticsearch/connection/http_urllib3.py

+2
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@ def perform_request(
253253
)
254254
duration = time.time() - start
255255
raw_data = response.data.decode("utf-8", "surrogatepass")
256+
except RecursionError:
257+
raise
256258
except Exception as e:
257259
self.log_request_fail(
258260
method, full_url, url, orig_body, time.time() - start, exception=e

0 commit comments

Comments
 (0)