dial tcp: i/o timeout #2032
Replies: 15 comments 1 reply
-
If the issue is captured and fixed, can u point me to a commit where it's done or any suggestions would help. I can try upgrading go-redis version. But releases don't carry info regarding updates. Hence I don't know if just upgrade would fix this. |
Beta Was this translation helpful? Give feedback.
-
I'm facing the same problem |
Beta Was this translation helpful? Give feedback.
-
Couldn't not get to the root of it but scaling the system seems to have fixed the issue for me. I think we may have hit one of the system limits. |
Beta Was this translation helpful? Give feedback.
-
Adding more details, in our case, it was an issue with cpu. We were using T2 instances and this was occuring when credits hit zero. Since our instances were behind ASG, it became hard to figure out the issues after the instance goes down. |
Beta Was this translation helpful? Give feedback.
-
Any updates on this?
this code gives me |
Beta Was this translation helpful? Give feedback.
-
Could you provide more information about tcp remote address? Cause |
Beta Was this translation helpful? Give feedback.
-
Would you elaborate on what you mean by more information about tcp remote address?
Output from any commands using redis-cli
|
Beta Was this translation helpful? Give feedback.
-
Was port forwarding from server's redis cluster service(used helm charts w/ default config) to my localhost which messed up the behaviour for redis-cli. SSH-ing into the node and then running redis-cli operations are working fine. |
Beta Was this translation helpful? Give feedback.
-
Thats the point. SSH-ING into the node, the client ( redis-cli ) can reach the node (address like 172.18.0.x). But at localhost these address can be reached or not? So your code may not doing what you want :) |
Beta Was this translation helpful? Give feedback.
-
@srinidhis94 Were you able to fix the issue as iam facing the same problem with the error dial tcp x.x.x.x:6380: i/o timeout . |
Beta Was this translation helpful? Give feedback.
-
I found this to be system limitation. Not a bug with library. Check cpu,memory and network limits once. A connection will be established with all nodes in cluster. Redis won't proxy the requests. It'll either execute request or respond with ip addr which handle the given request saying MOVED. |
Beta Was this translation helpful? Give feedback.
-
Can you please look into this. It is trying to increase the connected clients even though the client connection was established during the start of application. How many cpu cores usage did resolve the issue? |
Beta Was this translation helpful? Give feedback.
-
Hello, I can consistently reproduce this issue on ec2 instances at aws.
Restarting docker container always fixes the issue. |
Beta Was this translation helpful? Give feedback.
-
@sjmunizcomplytrust |
Beta Was this translation helpful? Give feedback.
-
@charlie4284 thanks for the advice - I've updated the docs at https://redis.uptrace.dev/guide/server.html#dial-tcp-i-o-timeout |
Beta Was this translation helpful? Give feedback.
-
I am using go-redis version v6.14.2. I have my application running in an AWS cluster behind loadbalancer. All redis requests failed in one of the nodes in the cluster. Rest of the nodes were working as expected. Application started working properly after a restart. We are using ElastiCache.
Can you please help me with identifying the issue ??
If it is previously known issue and is solved in latest version, can you point me to that link ??
The error was "dial tcp: i/o timeout".
Below is my cluster configuration excluding redis host address and password:
As suggested in comments,#1194,
I wrote the following snippet to dial and test nodes health for each slot. There were no errors. As mentioned, its happening randomly in one of the clients.Not always. It happened again after 3-4 months. And it is always fixed after a restart.
Beta Was this translation helpful? Give feedback.
All reactions