PDE-3251 fix(core): abort logger connection at the end of invocation #562
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes the issue where a Lambda invocation can take ~1 minute before a
socket hang up
error with the log server shows up.You can find the steps to reproduce the error on Slack.
I’m not sure under what situations the log server would stop responding to an open connection on production. (Maybe the log server sometimes crashes?) But we should at least make the core more resilient and not affected by a hanging connection.
The idea is to limit the wait time for the log server to respond. We use node-fetch to make requests to the log server. And to abort a node-fetch request, we can use AbortController. See node-fetch's README for example. Since AbortController only became natively supported on Node.js 15+, I'm using the node-abort-controller package.