Don't prevent NodeJS from closing to run acquisition timeout error #1196
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.
Currently my node process will wait 60 seconds (I know it's configurable) to close because this timeout is waiting to fire a timeout error. This stops referencing counting this callback, so it won't prevent the process from closing. This will still process if there are other executions in the event loop, so all this affects if node is waiting on a timeout that will never be needed.
Digging more into this the wait time happens because the socket never emits the logon success.
60% of the time I see
But no bytes are ever read / the data event is never fired.
This just "hangs" waiting for logon response, until the timeout is fired. I'm not sure why this happens. I haven't indicated to node in any way of my intention to close the process. Yet somehow I suspect it is aware of this.
The other 40% the logon / connection init process works fine:
In these cases the process cleans up rapidly.