CLDSRV-835: Retry tcp flakiness with concurrency#6116
Conversation
``` Multi-Object Versioning Delete Success / With default signature "before each" hook for "should batch delete 1000 objects quietly": Error: read ECONNRESET at TCP.onStreamRead (node:internal/stream_base_commons:216:20) ``` The other option would be to change the http agent on the s3 client to use agentkeepalive lib and define freeSocketTimeout to be less than cloudserver keep alive (5s).
Hello bourgoismickael,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Request integration branchesWaiting for integration branch creation to be requested by the user. To request integration branches, please comment on this pull request with the following command: Alternatively, the |
|
LGTM |
|
/create_integration_branches |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option The following options are set: create_integration_branches |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
The following options are set: create_integration_branches |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
@@ Coverage Diff @@
## development/9.3 #6116 +/- ##
===================================================
+ Coverage 84.25% 84.26% +0.01%
===================================================
Files 206 206
Lines 13251 13251
===================================================
+ Hits 11164 11166 +2
+ Misses 2087 2085 -2
Flags with carried forward coverage won't be shown. Click here to find out more. 🚀 New features to boost your workflow:
|
| const putWithRetry = async (params, attempt = 0) => { | ||
| try { | ||
| return await s3.send(new PutObjectCommand(params)); | ||
| } catch (err) { |
There was a problem hiding this comment.
nit: We could filter and retry only on ECONNRESET.
There was a problem hiding this comment.
There could be multiple network error arising depending on the race case, for example ECONNRESET or TimeoutError: socket hang up.
We should not have any case where we have a permanent error in here, so I'd say it's not that bad if we retry 3 times any kind of error
|
/approve |
Build failedThe build for commit did not succeed in branch w/9.4/bugfix/CLDSRV-835-mongo-econreset The following options are set: approve, create_integration_branches |
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: approve, create_integration_branches |
|
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue CLDSRV-835. Goodbye bourgoismickael. |
The other option would be to change the http agent on the s3 client to use agentkeepalive lib and define freeSocketTimeout to be less than cloudserver keep alive (5s).