#14703 closed (duplicate)
memcached.set_many() should not special case unicode data
Reported by: | George Sakkis | Owned by: | nobody |
---|---|---|---|
Component: | Core (Cache system) | Version: | 1.2 |
Severity: | Keywords: | ||
Cc: | Triage Stage: | Accepted | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
memcached.set_many() tries to be "smart" by explicitly checking for unicode values and encoding them as utf-8; that's not even a default value, it is actually hardcoded. The memcached.set() on the other hand just passes the value to the underlying memcached client. The bottom line is that the basic assumption that cache.set_many() is equivalent to calling cache.set() multiple times (but usually faster) is broken.
FWIW I was bitten by this in real-world code, it's not a theoretical problem without actual use cases.
Attachments (1)
Change History (5)
comment:1 by , 14 years ago
Triage Stage: | Unreviewed → Accepted |
---|
by , 14 years ago
Attachment: | 13686_14703_unicode_in_memcached_backend_r14757.diff added |
---|
Extended patch(by jbalogh) from similar above-mentioned ticket
comment:2 by , 14 years ago
Has patch: | set |
---|
comment:3 by , 14 years ago
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Closing this due to essentially duplication to #13686
A pull request has been sent for this to be included in 1.3. I'll close that one when it's in.
This is much like #13686. All get/set-type functions should be consistent here.