Attach the Puma Worker Killer through Lifecycle Events
What does this MR do?
This change attach the Puma Worker Killer through Lifecycle Events
This approach is the new favoured way of attaching lifecycle events, as it does not require additional changes to be made to the puma.rb
file in GitLab-CE, 2, Omnibus and Cloud Native GitLab (TBD). If these changes are not synchronized, they may fail in certain environments.
Moving to lifecycle events avoids having to do this. Instead we write the code once and it will run in all environments.
Additionally, this change will only install the puma-worker-killer
when Puma is running in multi-process mode. Puma can also run in single process mode. In this mode, the puma-worker-killer could potentially cause problems.
cc Memory team, for FYI of this approach of not modifying puma.rb
and adding an initializer instead: @ayufan @craig-gomes @qzhaogitlab @alipniagov @jprovaznik
Does this MR meet the acceptance criteria?
Conformity
-
Changelog entry -
Documentation created/updated or follow-up review issue created -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Performance and testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. -
Tested in all supported browsers
Security
If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:
-
Label as security and @ mention @gitlab-com/gl-security/appsec
-
The MR includes necessary changes to maintain consistency between UI, API, email, or other methods -
Security reports checked/validated by a reviewer from the AppSec team