What's the deal with server->next_retry and server->server_failure_counter
Hi all!
I'm trying to get a hold on the logic between server->next_retry and server-
What I noticed on our environment is that as soon as a connection issue occurs, the function memcached_
1) set the next_retry to whatever timeout is configured (default 2 seconds)
2) mark the server as MEMCACHED_
3) increment the failure counter if it's a different query_id (or operation)
4) update the internal logging of the last disconnected host
Why does the server go into timeout directly, and not after failing server_
What I believe is right to do (not to cause an internal denial of service or flood) is to backup for next_retry time (default 2 seconds) when we had server_
Is it intended to operate like this (and what's the reason behind it in this case), or is it a bug?
Please let me know, if it's intended then I'd propose a new behaviour (I'm happy to provide the patch) where we retry x amount of times before we backoff. We're running memcached on a high traffic website, having thousands of memcached calls per second. We run php with persistent memcached connections, and a glitch causes a backoff 2 seconds, being multiple requests where we don't can access our caching, resulting in database calls. (Ofcourse we tuned the retry time but right now only seconds precision is allowed).
Thanks for your positive feedback!
Best,
Nicolas
Question information
- Language:
- English Edit question
- Status:
- Expired
- Assignee:
- No assignee Edit question
- Last query:
- Last reply: