Client waiting endlessly for info from unresponsive server
See original GitHub issueIt appears that in some instances the connection to the server is established but the server will not respond (we are running AWS lambdas and elasticache, which is not really a good marriage).
In this scenario the client is stuck waiting for a response and queuing commands but never making progress or giving up and retrying the connection. Things just halt forever, since no new traffic is sent to detect that the connection is lost.
It can be reproduced by opening a port with netcat and just ignoring incoming traffic (nc -l <port>
).
Could a socket timeOut be set up to handle this while waiting for responses?
Issue Analytics
- State:
- Created 5 years ago
- Comments:21 (4 by maintainers)
Top Results From Across the Web
FIX: User mode processes in an application are unresponsive ...
Fixes a problem in which user mode processes may stop responding indefinitely and are unresponsive to Task Manager.
Read more >Endless 'Waiting for the Server' Startup Screen : r/MagicArena
Was planning on playing in the open today but I can't get into the client. Edit: After trying a few more times, it...
Read more >Prevent a client from waiting indefinitely for server response
You can do this with a timeout. Ideally the library you're using allows you to set a timeout, but if not you can...
Read more >NFS file system hangs. New mount attempts hang also. | Support
An NFS mount appears to be hung or stalled indefinitely. New NFS mount attempts, pointing to the same server, may also hang.
Read more >Why do consoles sometimes hang forever when SSH ...
You can tell the client to terminate but this won't affect the history kept (or not) at the server end. While this doesn't...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Adding timeout features to ioredis seems to be a difficult (or unwanted) task, although it is needed in some cases. I solved this by using
promise-timeout
and wrapping each and every ioredis call. This is not very elegant (and may also lead to internal reference leak when queries do not terminate), but at least I can handle timeouts in HTTP requests this way.Added a pull request trying to address this issue: https://github.com/luin/ioredis/pull/658. What’s your thoughts?