Skip to content

Attach the Puma Worker Killer through Lifecycle Events

Andrew Newdigate requested to merge an-move-puma-killer-to-an-initializer into master

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 @dzaporozhets

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

Performance and testing

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
Edited by Andrew Newdigate

Merge request reports