Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bump gunicorn to the latest version #5351

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Bump gunicorn to the latest version #5351

wants to merge 1 commit into from

Conversation

quis
Copy link
Member

@quis quis commented Jan 14, 2025

The version of Gunicorn we are using is more than 18 months out of date1 and has a high severity security vulnerability2.

We have not updated the version on the API (and therefore the minimum version in utils3) because last time we tried (while still on PaaS) it had some performance issues, documented here4:

We originally pinned this due to eventlet v0.33 compatibility issues. That was supposedly fixed in version v21.0.0 and we merged v21.2.0 for a while. Until we ran a load test again, and identified that the bumped version of gunicorn led to a 33%+ drop-off in performance/requests per second that the API was able to handle. If a version greater than 21.2.0 is released, and it either gives us something we need or we think it addresses said performance issues, make sure to run a load test in staging before releasing to production.

But the admin app does not serve anywhere near the same number of requests per second as the API, so we have already upgraded to version 21.2.0.

This pull request just updates from 21.2.0 to 23.0.0 (the latest version), which resolves the new security vulnerability.


  1. https://github.com/benoitc/gunicorn/tree/21.2.0
  2. GHSA-w3h3-4rj7-4ph4
  3. https://github.com/alphagov/notifications-utils/blob/7322d3573eb54285166cae84da22edfae8067f02/setup.py#L31
  4. https://github.com/alphagov/notifications-api/blob/aff08653d951d6f60dec8d701ae7cf1681b78a27/requirements.in#L10

The version of Gunicorn we are using is more than 18 months out of
date[1] and has a high severity security vulnerabilites[2].

We have not updated the version on the API (and therefore the minimum
version in utils[3]) because last time we tried (while still on PaaS) it
had some performance issues, documented here[4]:

> We originally pinned this due to eventlet v0.33 compatibility issues.
> That was supposedly fixed in version v21.0.0 and we merged v21.2.0 for
> a while. Until we ran a load test again, and identified that the
> bumped version of gunicorn led to a 33%+ drop-off in
> performance/requests per second that the API was able to handle. If a
> version greater than 21.2.0 is released, and it either gives us
> something we need or we think it addresses said performance issues,
> make sure to run a load test in staging before releasing to
> production.

But the admin app does not serve anywhere near the same number of
requests per second as the API, so we have already upgraded to version
21.2.0.

This pull request just updates from 21.2.0 to 23.0.0 (the latest
version), which resolves the security vulnerability.

***

1. https://github.com/benoitc/gunicorn/tree/21.2.0
2. GHSA-w3h3-4rj7-4ph4
3. https://github.com/alphagov/notifications-utils/blob/main/setup.py#L31
4. https://github.com/alphagov/notifications-api/blob/aff08653d951d6f60dec8d701ae7cf1681b78a27/requirements.in#L10
@quis quis added the dependencies Pull requests that update a dependency file label Jan 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant