#5043 Port the EventSource server to be asyncio only and drop the dependency on trololio
Closed by wombelix. Opened by pingou.
ev_asyncio  into  master

Download 5043.patch
no initial comment

This is not quite ready to be merged as it breaks the python 2 support, however, it looks like the event source server no longer works on python3, so if you are running pagure with python3 could can download and use this code instead of the one being shipped in the tarball until this PR gets merged.

rebased onto 89ac836bf0965e478377fe752fa84addb99311df

Fails on centos7/py2 (obviously...)

rebased onto 4f2cd757360ee525575008d50075091305b38fd2

rebased onto 05b16f6a9b26162ce81329d4657691022e621d91

rebased onto 4f874d5b3509a8118e4df3e0bc7ce00de858bde1

pretty please pagure-ci rebuild

rebased onto ff1c330b9e64472b8ef7ba6ebebf19a603a8f90d

pretty please pagure-ci rebuild

rebased onto 07c37a5f3e8d1b9b5b1dd8b1c70e7217f15510bb

pretty please pagure-ci rebuild

rebased onto 52853b505c36f3157f9f1fe7e54439d2c5216ab1

pretty please pagure-ci rebuild

rebased onto a23e79f7d4627e1946af49595e4ede742d206cc4

pretty please pagure-ci rebuild

pretty please pagure-ci rebuild

pretty please pagure-ci rebuild

rebased onto 288d305325aae56e6c254b06815c5031a1c2f208

rebased onto 0279afb6c992102cbeb302fe12bc9e4416402a40

rebased onto 5e24da8c860e33a1a1f0e523910ab1a1e46a8d8e

rebased onto 4467a584eec6006a90fef0dfcebfd6efddaa0f64

pretty please pagure-ci rebuild

rebased onto 74cf820e4cf95df7873ebc5fb0ae03d8da55ed43

2 new commits added

  • Drop the dependency on trololio
  • Port the EventSource server to be asyncio only

rebased onto f930ce4ded0a741c8f3ef3922b3b7aaf34395f07

rebased onto dc448a395ae61f1dd815f287a7aeb3d4957cd9be

rebased onto 687e2ad0be710a7d9559479f3202833f5edc4f99

rebased onto 84a0adeff3988665b5155713c7317ddc4008a03e

hit this on F37

for python 3.11 we also need https://src.fedoraproject.org/fork/thrnciar/rpms/python-aiohttp-cors/blob/2dd0df4b61e23c32617cc97985696904c1f1fd6a/f/1eb2226aaf664d0be746753a32f82ee2e04c2f0b.patch

rebased onto 2069325d16711ad1930a974e787cbf4836365439

@pingou are we in an okay place to land this?

I'm testing this on my pagure instance on my laptop
and I need remove @asyncio.coroutine decorator https://pagure.io/fork/sergiomb/pagure/c/70a6822ec2bd3913630c93d2e09ad6a1b524421c

@pingou are we in an okay place to land this?

I'd say we probably want another 5.x version before we start on 6.x, so I'd wait
a little longer if we can bear it

I'd say we probably want another 5.x version before we start on 6.x

I created an Issue to discuss and perform the necessary preparation to work on those releases in a coordinated way: https://pagure.io/pagure/issue/5370

The master branch already has Python 2 support ripped out, so if we're making another 5.x release, we'll need to craft a branch for it at the point before I did that and cherry-pick things.

The master branch already has Python 2 support ripped out, so if we're making another 5.x release, we'll need to craft a branch for it at the point before I did that and cherry-pick things.

I checked the merged PR's and couldn't find something related to active removal of Python 2 from the master branch. But yeah, no tests are running against py2 right now so probably things are at least broken somehow.

I'm open for both options (another 5.x release or jumping direct to 6.0), I think most important is that we are aligned what we want to do and try to coordinate the necessary tasks.

Reminder from @sergiomb (https://pagure.io/pagure/issue/5370#comment-836797) that remove @asyncio.coroutine decorator need to be included in this PR, @pingou independent of the "when to merge into master" discussion, could you include those changes?

I'm not sure that change is correct, because that eliminates the async nature of those methods entirely. The code needs to be adapted to the async/await syntax instead.

I'm not sure that change is correct, because that eliminates the async nature of those methods entirely. The code needs to be adapted to the async/await syntax instead.

yeah, I didn't a pull request because I also don't know if it is the best fix

I can't put async def as suggest , because gives error on startup

https://src.fedoraproject.org/fork/thrnciar/rpms/python-aiohttp-cors/blob/2dd0df4b61e23c32617cc97985696904c1f1fd6a/f/1eb2226aaf664d0be746753a32f82ee2e04c2f0b.patch

Closing in favour of https://pagure.io/pagure/pull-request/5463, dropping trololio is part of it.

Pull-Request has been closed by wombelix

Metadata