fluent / fluent-logger-node

A structured logger for Fluentd (Node.js)
Apache License 2.0
259 stars 83 forks source link

Fix socket issues #175

Open jamiees2 opened 3 years ago

jamiees2 commented 3 years ago

net.Socket.write won't necessarily immediately invoke the callback, and it's possible that we manage to submit the write, but the error event has triggered, setting the socket to null, and still end up calling the callback.

This is very rare of course, but can happen in extreme cases, and also requires the combination of reconnection attempts and acknowledgements.

Looking through the code, I also noted this can happen during the TLS handshake, so I fixed that as well.