Comments (8)
I don't know the code well enough to know what the exact fix should be, but I think it should be something along these lines:
- have
set_multi()
callreadline()
withraise_exception=True
and catch the_ConnectionDeadError
in the except clause - add the rest of the keys that we haven't set successfully to the nonstored list (have to keep track of this somehow, with an index counter or something)
from python-memcached.
First of all, thanks so much for tracking this down and creating the test. I've set up a tests directory and put this test in place.
My thinking is that we will probably want to check for socket going None in the set_multi code and treat them like misses. I'm going to need to do some digging though.
from python-memcached.
I've pushed a new version which causes readline() to behave a bit more sanely. This resolves the exception from your test. Can you please review?
Thanks,
Sean
from python-memcached.
Thanks for the quick turnaround. I commented on the commit.
from python-memcached.
I could have sworn that I commented on this, but I don't see one on this comment or on the commit you commented on. I've committed a new version which I believe resolves these issues as discussed in the commit. Can you review and let me know if this looks good and if it resolves the issues you are having?
Thanks,
Sean
from python-memcached.
Yep, commit 8116cfe works and looks good to me, thanks!
from python-memcached.
I've pushed out a new release that includes this patch. Thanks again for your help on this.
from python-memcached.
No probs, thanks for fixing!
from python-memcached.
Related Issues (20)
- set_multi, get_multi, delete_multi raise KeyError when used with tuple keys
- Bug: Our memcached client intermittently fails on the production server
- Add support for default value in get() HOT 3
- how to disconnect memcache via this module
- python3 - get_slabs throws TypeError
- Can't install on aws ami linux 2
- python-memcached return wrong value after crash?? HOT 2
- Delete and Delete_multi not working HOT 1
- Allow delete() to change the "expected" param.
- Add support to TLS HOT 1
- SyntaxWarnings with Python 3.8 HOT 8
- Project dead? HOT 2
- Flush on next connect flushes the entire Memcache server HOT 3
- Bugs in Client constructor when the servers parameter is a string, and the set_servers docstring is wrong
- Missing license file in the packages HOT 1
- Create SECURITY.md HOT 1
- Supporting Python 3.7 HOT 1
- Vrong version number
- Update of the License HOT 2
- New release HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from python-memcached.