-
Notifications
You must be signed in to change notification settings - Fork 2.4k
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dial tcp: i/o timeout #1327
Comments
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. |
I'm facing the same problem |
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. |
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. |
Any updates on this?
this code gives me |
Could you provide more information about tcp remote address? Cause |
Would you elaborate on what you mean by more information about tcp remote address?
Output from any commands using redis-cli
|
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. |
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 :) |
@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 . |
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. |
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? |
Hello, I can consistently reproduce this issue on ec2 instances at aws.
Restarting docker container always fixes the issue. |
@sjmunizcomplytrust |
@charlie4284 thanks for the advice - I've updated the docs at https://redis.uptrace.dev/guide/server.html#dial-tcp-i-o-timeout |
This issue was moved to a discussion.
You can continue the conversation there. Go to discussion →
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.
The text was updated successfully, but these errors were encountered: