Bug 237237 - databases/py-redis: Update to 3.2.1
Summary: databases/py-redis: Update to 3.2.1
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Kubilay Kocak
URL: https://github.com/andymccurdy/redis-...
Keywords: needs-qa
: 239176 (view as bug list)
Depends on: 234090
Blocks: 237238
  Show dependency treegraph
 
Reported: 2019-04-12 22:20 UTC by Sunpoet Po-Chuan Hsieh
Modified: 2019-07-13 18:29 UTC (History)
10 users (show)

See Also:
koobs: maintainer-feedback+
koobs: maintainer-feedback? (olgeni)
koobs: maintainer-feedback? (sunpoet)


Attachments
patch (1.16 KB, patch)
2019-04-12 22:57 UTC, Sunpoet Po-Chuan Hsieh
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sunpoet Po-Chuan Hsieh freebsd_committer 2019-04-12 22:20:40 UTC
Update to 3.2.1

- Change MASTER_SITES from GitHub to CHEESESHOP

Changes:        https://github.com/andymccurdy/redis-py/blob/master/CHANGES
Comment 1 Sunpoet Po-Chuan Hsieh freebsd_committer 2019-04-12 22:57:42 UTC
Created attachment 203626 [details]
patch
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2019-04-14 04:21:29 UTC
3.0.0 introduced backward incompatible changes. databases/py-redis need to be checked for version/API compatibility
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-04-14 04:26:45 UTC
Correction: databases/py-redis *dependent ports* need to be checked for version/API compatibility
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2019-04-14 04:40:29 UTC
After updating TEST_DEPENDS and modifying (do-)test target:

390 passed, 27 skipped, 1 warnings in 20.34 seconds
Comment 5 Kai Knoblich freebsd_committer 2019-04-30 07:44:24 UTC
Hi,

there's an actual list of ports that have dependencies on databases/py-redis:

databases/py-fakeredis: N/A (noted as "redis" in setup.py)
databases/py-rb: >=2.6 (setup.py)
devel/py-eventlib: >=2.7.1 (requirements.txt)
devel/py-rq: >=2.7.0 (setup.py)
graphics/py-sorl-thumbnail: N/A (noted as "redis" in README and setup.cfg (testenv))
net/py-kombu: >=2.8.0 (extra/requirements/extras/redis.txt)
devel/py-cachecontrol: >=2.10.5 (setup.py)
www/py-django-cacheops: >=2.9.1 (setup.py)
www/py-django-constance: N/A (noted as "redis" in setup.py)
www/py-django-redis: >=2.10.0 (setup.py)

Maybe it helps in the further progress of this PR.
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2019-04-30 08:14:31 UTC
(In reply to Kai Knoblich from comment #5)

It does. This was the big piece of QA that needed to be done, so thank you for helping me Kai. I assume from the list that none were "max pinned" with "<X" versions, is this correct?

That is not to say that they 'wont' fail at runtime given API changes, but evaluating setup.py:*_requires in dependents is the best we can do without test target support in everything.
Comment 7 Kai Knoblich freebsd_committer 2019-04-30 08:57:56 UTC
(In reply to Kubilay Kocak from comment #6)

No problem and your assumption is correct: None of the given dependencies is pinned with "<".

Indeed, there's still the risk that something might fail at runtime.
Comment 8 Kai Knoblich freebsd_committer 2019-04-30 08:58:40 UTC
Small correction for one port:

devel/py-cachecontrol -> www/py-cachecontrol
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-05 03:21:05 UTC
django-redis is incompatible with redis-py >= 3
https://github.com/niwinz/django-redis/issues/342
https://github.com/niwinz/django-redis/commit/f139a880066d822bf2fa9df5f062a470a5f36305

Fixed in 4.10.0 (www/py-django-redis is at 4.10.0)

setup.py:*_requires aren't going to be sufficient to guarantee no runtime failures unfortunately. Need to check dependents for updates fixing API compatibility before landing this.
Comment 10 Kubilay Kocak freebsd_committer freebsd_triage 2019-05-05 04:25:36 UTC
Summary:

kombu needs >= 4.4.0 update (olgeni)
rb: Needs deprecation or BROKEN with redis > 3.0.0 update (this bug) (sunpoet)
eventlib: eeds deprecation or BROKEN with redis > 3.0.0 update (this bug) (sunpoet)

CC all dependent port maintainers for QA details below...

fakeredis: OK - 3.2.* support added in 1.0.3. 3.0.x in 1.0 (cc rene)

https://github.com/jamesls/fakeredis/pull/236
https://github.com/jamesls/fakeredis/blob/1.0.3/README.rst

rb: Probably NOT OK - No updates since 20171011 (sunpoet)

eventlib: Probably NOT ok - Port is latest version (0.1.5)> Last release 20131002 (sunpoet)

rq: Requires redis >= 3.0.0 (this bug blocks 237238) (cc skreuzer)

sorl-thumbnail: Probably OK (cc ports@caomhin)

Port is 12.4.1, upstream is 12.5.0 - Appears to test latest
redis (no max pin) in tox.ini

kombu: NOT OK -  Upstream is 4.5.0, port is 4.1.0 (cc: olgeni)

4.4.0 changelog:

Revert celery/kombu#954. Instead bump the required redis-py dependency to 3.2.0 to include this fix andymccurdy/redis-py@4e1e748.

4.2.2 changelog:

Support both Redis client version 2.x and version 3.x.

cachecontrol: OK - Port is 0.12.5, Upstream is 0.12.5 (cc yuri)

tests latest redis (no max pin), in tox.ini. "redis==3.2.0" from Travis CI log

django-cacheops: Probably OK - Upstream is 4.1, Port is 4.1 (cc kai)

Travis CI tests "redis==3.2.1". Build is failing

django-constance: OK. Upstream is 2.4.0, Port is 2.4.0 (cc ultima)

Travis tests with redis==3.2.1

django-redis: Probably OK Upstream is 4.10.0, Port is 4.10.0 (sunpoet)

Changelog: 4.10.0:

- Add support for redis-py 3.0.

tox.ini pins: redis2: redis>=2.10.0,<3.0.0 for one set of envs

Travis Ci build with redis==3.2.1 passes but one failure
Comment 11 Kai Knoblich freebsd_committer 2019-06-20 23:10:30 UTC
There is already a PR for the updating of net/py-kombu. The attached patch needs to be updated.
Comment 12 wen 2019-06-20 23:54:52 UTC
(In reply to Kai Knoblich from comment #11)
net/py-kombu had been updated to 4.6.3 now.
Comment 13 Kai Knoblich freebsd_committer 2019-06-21 10:22:21 UTC
(In reply to wen from comment #12)

That was quick, many thanks! Maybe that PR can be closed then?


(In reply to Kubilay Kocak from comment #10)

At the moment there are only two ports that need to be handled before databases/py-redis can be updated:

- devel/py-eventlib
- databases/py-rb
Comment 14 Kubilay Kocak freebsd_committer freebsd_triage 2019-07-13 18:29:16 UTC
*** Bug 239176 has been marked as a duplicate of this bug. ***