Skip to content

Lock.release() always fails in python 3.6.6 (Redis-py 2.10.5) #1091

@benileo

Description

@benileo
>>> import sys
>>> sys.version_info
sys.version_info(major=3, minor=6, micro=6, releaselevel='final', serial=0)
>>> import redis
>>> redis.__version__
'2.10.5'
>>> redis_connection = redis.StrictRedis(host='redis', port=6379, decode_responses=True)
>>> lock = redis.lock.Lock(redis_connection, 'aa29f76d-f2be-4acb-abd8-7e74a336ceda')
>>> lock.acquire()
True
>>> lock.release()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.6/dist-packages/redis/lock.py", line 135, in release
    self.do_release(expected_token)
  File "/usr/local/lib/python3.6/dist-packages/redis/lock.py", line 146, in do_release
    self.redis.transaction(execute_release, name)
  File "/usr/local/lib/python3.6/dist-packages/redis/client.py", line 490, in transaction
    func_value = func(pipe)
  File "/usr/local/lib/python3.6/dist-packages/redis/lock.py", line 143, in execute_release
    raise LockError("Cannot release a lock that's no longer owned")
redis.exceptions.LockError: Cannot release a lock that's no longer owned
>>> 

Redis-py Version: 2.10.5
Python Version: 3.6.6

The functionality used to work in python 2.7, but now simply acquiring and releasing a lock fails. I tried in with block as well with same result.

Am I doing something wrong or is this a bug?
Thank you.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions