Opened 6 years ago

Closed 6 years ago

Last modified 5 years ago

#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: UI/UX:


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)

13686_14703_unicode_in_memcached_backend_r14757.diff (2.0 KB) - added by Alexey Smolsky 6 years ago.
Extended patch(by jbalogh) from similar above-mentioned ticket

Download all attachments as: .zip

Change History (5)

comment:1 Changed 6 years ago by Karen Tracey

Needs documentation: unset
Needs tests: unset
Patch needs improvement: unset
Triage Stage: UnreviewedAccepted

This is much like #13686. All get/set-type functions should be consistent here.

Changed 6 years ago by Alexey Smolsky

Extended patch(by jbalogh) from similar above-mentioned ticket

comment:2 Changed 6 years ago by Alexey Smolsky

Has patch: set

comment:3 Changed 6 years ago by anonymous

Resolution: duplicate
Status: newclosed

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.

comment:4 Changed 5 years ago by Jacob

milestone: 1.3

Milestone 1.3 deleted

Note: See TracTickets for help on using tickets.
Back to Top