1
0
mirror of https://github.com/pgbackrest/pgbackrest.git synced 2025-09-16 09:06:18 +02:00

Unnest HTTP/TLS/socket timeouts.

These timeouts were nested, i.e. an error in the socket connection would also retry in the TLS and HTTP layers. This led to a multiplying effect such that it took nine minutes to fully timeout with the default io-timeout of 60 seconds.

A fix for this was attempted in 5314dbff but it reduced retries by too much and had to be reverted in fa5b2d44.

Instead fix by moving connection attempts to the lower layer (e.g. TLS -> socket) out of the exception block but leave it within the retry loop. So, for example, if the socket connection fails after retries then the error will not be retried by TLS. But if the TLS session fails the socket will be reconnected.
This commit is contained in:
David Steele
2025-09-05 11:42:00 -04:00
committed by GitHub
parent adc5e5b23b
commit 9c7f064864
7 changed files with 79 additions and 30 deletions

View File

@@ -1,6 +1,18 @@
<release date="XXXX-XX-XX" version="2.57.0dev" title="Under Development">
<release-core-list>
<release-bug-list>
<release-item>
<github-issue id="2654"/>
<github-pull-request id="2662"/>
<release-item-contributor-list>
<release-item-contributor id="david.steele"/>
<release-item-reviewer id="david.christensen"/>
</release-item-contributor-list>
<p>Unnest HTTP/TLS/socket timeouts.</p>
</release-item>
<release-item>
<github-pull-request id="2675"/>