Hi Chris, * Chris Lamb <[email protected]> [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
signature.asc
Description: PGP signature

