This is an interesting one and proving difficult to debug. It seems like the overrides in _MemcacheClient are having unintended side-effects with python3. I'll look some more tomorrow but for now adding upstream to the bug. I wonder if we can get Alexander Makarov to take a look as he added this code segment way back in 2015.
class _MemcacheClient(memcache.Client):
"""Thread global memcache client
As client is inherited from threading.local we have to restore object
methods overloaded by threading.local so we can reuse clients in
different threads
"""
__delattr__ = object.__delattr__
__getattribute__ = object.__getattribute__
__new__ = object.__new__
__setattr__ = object.__setattr__
This is an interesting one and proving difficult to debug. It seems like the overrides in _MemcacheClient are having unintended side-effects with python3. I'll look some more tomorrow but for now adding upstream to the bug. I wonder if we can get Alexander Makarov to take a look as he added this code segment way back in 2015.
class _MemcacheClient (memcache. Client) :
"""Thread global memcache client
As client is inherited from threading.local we have to restore object ute__ = object. __getattribute_ _
methods overloaded by threading.local so we can reuse clients in
different threads
"""
__delattr__ = object.__delattr__
__getattrib
__new__ = object.__new__
__setattr__ = object.__setattr__
def __del__(self):
pass