-
Notifications
You must be signed in to change notification settings - Fork 461
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
Exponential backoff and dial retrying #54
base: master
Are you sure you want to change the base?
Conversation
I just ran into this. I was running a Get and suddenly i got EOF instead of memcache.ErrCacheMiss |
Thanks for your pull request. It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA). 📝 Please visit https://cla.developers.google.com/ to sign. Once you've signed, please reply here (e.g.
|
@bradfitz we're hitting this as well. I think I can work around it by disable idle connection timeout on the server, but EOF should probably be marking the connections dead. I'm happy to bring this PR, or something similar, up to date. |
okay, so io.EOF isn't a resumableError, so the connection shouldn't get re-used, which is why my service isn't degenerating to a pile of cache errors over time. It should be safe to retry from the caller without any danger of clogging up the connection pool with closed connections. |
Hey! Is there any way to get or something similar merged in? I've had some request errors leading to eof, and would love at least some kind of retry system |
Ping. Any plans on getting this PR merged? |
When the reader/writer returned an
io.EOF
this was passed back to the client instead of marking the TCP connection as bad and attempting to redial. This implements an exponential backoff redial system.