-
Notifications
You must be signed in to change notification settings - Fork 14
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
process hangs due to default socket_timeout=None #119
Comments
Fixes valkey-io#119 Signed-off-by: Saverio Proto <saverioproto@microsoft.com>
Hi! I'm not very keen on breaking compatibility, so I'd rule out solution 2. A solution 3 could be to improve the doc and make it very clear that socket_timeout is something that needs to be set. |
@aiven-sal should we have a look what other Valkey / Redis client implementations ( even in different languages ) are doing when setting TCP timeouts? For example I see the golang client uses a default value of 3 seconds for The Node Client is using 5 seconds: It seems that not setting a default is not a good idea :( |
I agree that having a default would better. 2, 3 or 5 they should all be fine (but maybe I'd pick 5 just to stay on the safe side) But it's about time we make a 6.1 where we can introduce some breaking changes. So I think we can change this default to 5. |
Fixes valkey-io#119 Signed-off-by: Saverio Proto <saverioproto@microsoft.com>
Fixes valkey-io#119 Signed-off-by: Saverio Proto <saverioproto@microsoft.com> Signed-off-by: Raphaël Vinot <raphael@vinot.info>
This is a recurring issue, previously reported in this GitHub issue.
I encountered the same problem while testing a Valkey Cluster on Kubernetes. When a Valkey Cluster pod is evicted, my client attempts to reconnect immediately, but gets stuck in the
SYN_SENT
state indefinitely, trying to connect to an IP address that no longer exists in the Kubernetes cluster. In Kubernetes, pods are ephemeral, and each new pod is assigned a new IP address.From the ValkeyCluster documentation, it's not immediately clear that developers need to configure the TCP timeout. See the relevant section here. Furthermore, I don’t believe developers building applications that connect to Valkey should have to handle low-level TCP parameters.
Proposed solutions:
Set a default
socket_timeout
valueMake
socket_timeout
a mandatory parameterThe text was updated successfully, but these errors were encountered: