Server timeout state reset on IO error
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libmemcached |
New
|
Undecided
|
Unassigned |
Bug Description
When an IO error is encountered the server state is reset to MEMCACHED_
This may only manifest itself as a problem when using consistent distribution due to the point at which the continuum is recalculated - I haven't tested with any of the other distribution options. It's probably also more obviously a problem when making use of the dead server retry behaviour included in 1.0.3+. In a nutshell it should be possible to observe that retries do not occur at the expected intervals and failure counts are not accurate after a server in the pool is taken offline.
I patched io.cc and quit.cc to work around this as part of the following commit to my branch: http://
This may well be fixing the symptom rather than the cause, but I have had the change running in production for quite some time now with no apparent side-effects. I do understand that those changes cause at least some of the tests to fail though which certainly warrants further investigation.
I've been meaning to find the time to put together a proper example test case and results for this but that has been proving impossible of late. I still wanted to get the issue logged though - please let me know if I've not been clear enough here or can provide any more useful information.
description: | updated |
affects: | libmemcached (Ubuntu) → libmemcached |
Now that I've got this tagged against the project rather than a distro package I notice that bug #928696 has a rather better description of the problem seen. Please feel free to mark this as a duplicate/merge as appropriate.