disable keep alive timeout, headers timeout and log any server timeouts#85
Conversation
Codecov Report
@@ Coverage Diff @@
## master #85 +/- ##
=======================================
Coverage 97.03% 97.03%
=======================================
Files 23 23
Lines 809 809
=======================================
Hits 785 785
Misses 24 24 Continue to review full report at Codecov.
|
|
Looks promising, will review tomorrow. |
|
Released 5.4.2 🚀. Changes look good, did some reading up, disabling these timeouts certainly will not hurt. Might even reduce latency by keeping connections alive. Logging unexpected timeouts is an excellent addition. No worries about tests, haven't been able to reproduce #60 either. Though will leave #60 open since we can't prove conclusively that the premature response issue is resolved. Thanks again for contributing! |
This cures my issue with randomly aborted connections (#60). I tried to write a test for this, but it's actually hard to reproduce -- the easiest way to elicit this was to debug the node process while making multiple concurrent connections to it.
I think what's happening is that you get a .NET connection pooled, connected http connection which node then closes when data is sent to it as in:
nodejs/node#26165
also as per this PR:
nodejs/node#33307
the headers timeout cannot be disabled (but it can be set to a very long value, which is what I've done). I also disabled the keepalive timeout for sockets as that's another possible reason that node is dropping the pooled connections.