Hi Chris,

* Chris Lamb <la...@debian.org> [2021-07-25 10:01]:
I'd be happy to report this to Redis upstream, but I have no evidence
that this indicates an actual bug in Redis itself or any kind of "When
I see X we see Y but we should see Z". I lack knowledge about what
python-fakeredis is actually testing here (as well as how Hypothesis
works!) to determine which package is buggy. Could the fakeredis
maintainer chime in perhaps?

I had a look into this and extracted this minimal example:

$ sudo apt install redis-server python3-redis
$ python3 -c "import redis; \
              r = redis.StrictRedis('localhost', port=6379); \
              r.execute_command('set', b'\x00', b''); \
              r.execute_command('sinter', b'', b'\x00')"

Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python3/dist-packages/redis/client.py", line 901, in 
execute_command
    return self.parse_response(conn, command_name, **options)
  File "/usr/lib/python3/dist-packages/redis/client.py", line 915, in 
parse_response
    response = connection.read_response()
  File "/usr/lib/python3/dist-packages/redis/connection.py", line 756, in 
read_response
    raise response
redis.exceptions.ResponseError: WRONGTYPE Operation against a key holding the 
wrong kind of value

Same for:

r.execute_command('sinterstore', b'', b'', b'\x00')

Both work for redis-server 5:6.0.14-1 and break for 5:6.0.15-1.
As far as I read https://redis.io/topics/data-types-intro this should be allowed, but I don't really no Redis. Can you report this to upstream if you agree?

Hope this helps

Jochen

Attachment: signature.asc
Description: PGP signature

Reply via email to