Upgrade to Puma v6.2.2
What does this MR do and why?
This release has numerous bug and performance fixes: https://github.com/puma/puma/releases
Noteable changes:
-
nakayoshi_fork has been removed (https://github.com/puma/puma/issues/2258). With compaction disabled, it appears not to provide much gain: omnibus-gitlab!6854 (merged), gitlab-org/build/CNG!1382 (merged)
-
https://github.com/puma/puma/pull/3035 dropped the use of the
time
gem in Puma, but our Puma JSON-formatter needs it: !119684 (merged) -
https://github.com/puma/puma/pull/3061 renamed
Rack::Handler::Puma
toPuma::RackHandler
. Whenbin/rails server
initializes, it registers the Puma handler, which then defines thePuma
module. However, this previously caused GitLab to think Puma had started when it has not. To avoid this problem, tighten up the runtime check by checking forPuma::Server
, which is loaded whenrequire 'puma'
is run: !119684 (merged)
Performance testing results: gitlab-org/quality/quality-engineering/team-tasks#1781 (comment 1385848713)
How to set up and validate locally
- Check out this branch.
gdk restart rails-web
- Validate pages still load.
MR acceptance checklist
This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.
-
I have evaluated the MR acceptance checklist for this MR.