Source: redis, python-redis
Control: found -1 redis/5:8.0.0-2
Control: found -1 python-redis/6.1.0-1
Severity: serious
Tags: sid trixie
User: debian...@lists.debian.org
Usertags: breaks needs-update

Dear maintainer(s),

With a recent upload of redis the autopkgtest of python-redis fails in testing when that autopkgtest is run with the binary packages of redis from unstable. Assuming the version of python-redis in unstable would solve the issue, I scheduled several tests, both in unstable and in testing with more packages from unstable. The test fails on arm64, ppc64el, riscv64 and s390x. It passes when run with only packages from testing. In tabular form:

                       pass            fail
redis                  from testing    5:8.0.0-2
python-redis           from testing    6.1.0-1 / 5.2.1-1
all others             from testing    from testing

I copied some of the output at the bottom of this report.

Currently this regression is blocking the migration of redis to testing [1]. Due to the nature of this issue, I filed this bug report against both packages. Can you please investigate the situation and reassign the bug to the right package?

More information about this bug and the reason for filing it can be found on
https://wiki.debian.org/ContinuousIntegration/RegressionEmailInformation

Paul

[1] https://qa.debian.org/excuses.php?package=redis

https://ci.debian.net/data/autopkgtest/testing/arm64/p/python-redis/60942686/log.gz

=================================== FAILURES =================================== 118s _____________ TestRedisCommands.test_georadius_store_dist[single] ______________ 118s 118s self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0xffffa9a7f160> 118s r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>
118s 118s     @skip_unless_arch_bits(64)
118s     @skip_if_server_version_lt("3.2.0")
118s     @pytest.mark.onlynoncluster
118s     async def test_georadius_store_dist(self, r: redis.Redis):
118s         values = (2.1909389952632, 41.433791470673, "place1") + (
118s             2.1873744593677,
118s             41.406342043777,
118s             "place2",
118s         )
118s     118s         await r.geoadd("barcelona", values)
118s         await r.georadius(
118s "barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona"
118s         )
118s         # instead of save the geo score, the distance is saved.
118s > assert await r.zscore("places_barcelona", "place1") == 88.05060698409301
118s E       assert 88.05060698338646 == 88.05060698409301
118s 118s tests/test_asyncio/test_commands.py:2842: AssertionError
118s ______________ TestRedisCommands.test_georadius_store_dist[pool] _______________ 118s 118s self = <tests.test_asyncio.test_commands.TestRedisCommands object at 0xffffa9a7f200> 118s r = <redis.asyncio.client.Redis(<redis.asyncio.connection.ConnectionPool(<redis.asyncio.connection.Connection(host=localhost,port=6379,db=0)>)>)>
118s 118s     @skip_unless_arch_bits(64)
118s     @skip_if_server_version_lt("3.2.0")
118s     @pytest.mark.onlynoncluster
118s     async def test_georadius_store_dist(self, r: redis.Redis):
118s         values = (2.1909389952632, 41.433791470673, "place1") + (
118s             2.1873744593677,
118s             41.406342043777,
118s             "place2",
118s         )
118s     118s         await r.geoadd("barcelona", values)
118s         await r.georadius(
118s "barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona"
118s         )
118s         # instead of save the geo score, the distance is saved.
118s > assert await r.zscore("places_barcelona", "place1") == 88.05060698409301
118s E       assert 88.05060698338646 == 88.05060698409301
118s 118s tests/test_asyncio/test_commands.py:2842: AssertionError
118s __________________ TestRedisCommands.test_geosearchstore_dist __________________ 118s 118s self = <tests.test_commands.TestRedisCommands object at 0xffffab3d3bb0> 118s r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>
118s 118s     @pytest.mark.onlynoncluster
118s     @skip_unless_arch_bits(64)
118s     @skip_if_server_version_lt("6.2.0")
118s     def test_geosearchstore_dist(self, r):
118s         values = (2.1909389952632, 41.433791470673, "place1") + (
118s             2.1873744593677,
118s             41.406342043777,
118s             "place2",
118s         )
118s     118s         r.geoadd("barcelona", values)
118s         r.geosearchstore(
118s             "places_barcelona",
118s             "barcelona",
118s             longitude=2.191,
118s             latitude=41.433,
118s             radius=1000,
118s             storedist=True,
118s         )
118s         # instead of save the geo score, the distance is saved.
118s > assert r.zscore("places_barcelona", "place1") == 88.05060698409301
118s E       AssertionError: assert 88.05060698338646 == 88.05060698409301
118s E + where 88.05060698338646 = zscore('places_barcelona', 'place1') 118s E + where zscore = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>.zscore
118s 118s tests/test_commands.py:4036: AssertionError
118s _________________ TestRedisCommands.test_georadius_store_dist __________________ 118s 118s self = <tests.test_commands.TestRedisCommands object at 0xffffab3d3e80> 118s r = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>
118s 118s     @pytest.mark.onlynoncluster
118s     @skip_unless_arch_bits(64)
118s     @skip_if_server_version_lt("3.2.0")
118s     def test_georadius_store_dist(self, r):
118s         values = (2.1909389952632, 41.433791470673, "place1") + (
118s             2.1873744593677,
118s             41.406342043777,
118s             "place2",
118s         )
118s     118s         r.geoadd("barcelona", values)
118s r.georadius("barcelona", 2.191, 41.433, 1000, store_dist="places_barcelona")
118s         # instead of save the geo score, the distance is saved.
118s > assert r.zscore("places_barcelona", "place1") == 88.05060698409301
118s E       AssertionError: assert 88.05060698338646 == 88.05060698409301
118s E + where 88.05060698338646 = zscore('places_barcelona', 'place1') 118s E + where zscore = <redis.client.Redis(<redis.connection.ConnectionPool(<redis.connection.Connection(host=localhost,port=6379,db=0)>)>)>.zscore
118s 118s tests/test_commands.py:4192: AssertionError
118s =============================== warnings summary =============================== 118s tests/test_asyncio/test_sentinel.py::test_repr_correctly_represents_connection_object 118s /tmp/autopkgtest-lxc.c1pdxwmz/downtmp/build.nZN/src/redis/asyncio/connection.py:232: ResourceWarning: unclosed Connection <redis.asyncio.sentinel.SentinelManagedConnection,host=127.0.0.1,port=6379)>
118s     _warnings.warn(
118s   118s   Object allocated at:
118s File "/tmp/autopkgtest-lxc.c1pdxwmz/downtmp/build.nZN/src/redis/asyncio/connection.py", line 1174
118s       return self.connection_class(**self.connection_kwargs)
118s 118s -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html 118s =========================== short test summary info ============================ 118s FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadius_store_dist[single] 118s FAILED tests/test_asyncio/test_commands.py::TestRedisCommands::test_georadius_store_dist[pool] 118s FAILED tests/test_commands.py::TestRedisCommands::test_geosearchstore_dist - ... 118s FAILED tests/test_commands.py::TestRedisCommands::test_georadius_store_dist 118s = 4 failed, 663 passed, 63 skipped, 2296 deselected, 20 xpassed, 1 warning in 76.87s (0:01:16) =
119s autopkgtest [05:43:26]: test 0002-python3

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to