From 5a65a5ab61dacbe17dbeb1471fe71a59e2a56c3d Mon Sep 17 00:00:00 2001 From: Aleksei Lipniagov <alipniagov@gitlab.com> Date: Tue, 1 Dec 2020 16:48:07 +0300 Subject: [PATCH] Update puma & puma_worker_killer to upstream (5.1) The changes which required to use our own Puma fork now in the upstream, so we need to update to it for the future support. --- Gemfile | 6 +++--- Gemfile.lock | 18 +++++++++--------- changelogs/unreleased/update-puma-to-v-5.yml | 5 +++++ config/puma.example.development.rb | 5 +++++ config/puma.rb.example | 7 ++++++- config/puma_actioncable.example.development.rb | 5 +++++ 6 files changed, 33 insertions(+), 13 deletions(-) create mode 100644 changelogs/unreleased/update-puma-to-v-5.yml diff --git a/Gemfile b/Gemfile index ebfa379672481..37964d454fab1 100644 --- a/Gemfile +++ b/Gemfile @@ -184,8 +184,8 @@ group :unicorn do end group :puma do - gem 'gitlab-puma', '~> 4.3.3.gitlab.2', require: false - gem 'gitlab-puma_worker_killer', '~> 0.1.1.gitlab.1', require: false + gem 'puma', '~> 5.1.1', require: false + gem 'puma_worker_killer', '~> 0.3.1', require: false end # State machine @@ -410,7 +410,7 @@ group :test do gem 'rspec_profiling', '~> 0.0.6' gem 'rspec-parameterized', require: false - gem 'capybara', '~> 3.33.0' + gem 'capybara', '~> 3.34.0' gem 'capybara-screenshot', '~> 1.0.22' gem 'selenium-webdriver', '~> 3.142' diff --git a/Gemfile.lock b/Gemfile.lock index 427596e619ca5..47538b82386c9 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -152,7 +152,7 @@ GEM bundler (>= 1.2.0, < 3) thor (~> 0.18) byebug (11.1.3) - capybara (3.33.0) + capybara (3.34.0) addressable mini_mime (>= 0.1.3) nokogiri (~> 1.8) @@ -447,11 +447,6 @@ GEM gitlab-markup (1.7.1) gitlab-net-dns (0.9.1) gitlab-pg_query (1.3.1) - gitlab-puma (4.3.5.gitlab.3) - nio4r (~> 2.0) - gitlab-puma_worker_killer (0.1.1.gitlab.1) - get_process_mem (~> 0.2) - gitlab-puma (>= 2.7, < 5) gitlab-sidekiq-fetcher (0.5.2) sidekiq (~> 5) gitlab-styles (5.4.0) @@ -876,6 +871,11 @@ GEM pry-rails (0.3.9) pry (>= 0.10.4) public_suffix (4.0.6) + puma (5.1.1) + nio4r (~> 2.0) + puma_worker_killer (0.3.1) + get_process_mem (~> 0.2) + puma (>= 2.7) pyu-ruby-sasl (0.0.3.3) raabro (1.1.6) racc (1.5.2) @@ -1301,7 +1301,7 @@ DEPENDENCIES browser (~> 4.2) bullet (~> 6.1.0) bundler-audit (~> 0.6.1) - capybara (~> 3.33.0) + capybara (~> 3.34.0) capybara-screenshot (~> 1.0.22) carrierwave (~> 1.3) charlock_holmes (~> 0.7.7) @@ -1365,8 +1365,6 @@ DEPENDENCIES gitlab-mail_room (~> 0.0.8) gitlab-markup (~> 1.7.1) gitlab-net-dns (~> 0.9.1) - gitlab-puma (~> 4.3.3.gitlab.2) - gitlab-puma_worker_killer (~> 0.1.1.gitlab.1) gitlab-sidekiq-fetcher (= 0.5.2) gitlab-styles (~> 5.4.0) gitlab_chronic_duration (~> 0.10.6.2) @@ -1460,6 +1458,8 @@ DEPENDENCIES prometheus-client-mmap (~> 0.12.0) pry-byebug (~> 3.9.0) pry-rails (~> 0.3.9) + puma (~> 5.1.1) + puma_worker_killer (~> 0.3.1) rack (~> 2.2.3) rack-attack (~> 6.3.0) rack-cors (~> 1.0.6) diff --git a/changelogs/unreleased/update-puma-to-v-5.yml b/changelogs/unreleased/update-puma-to-v-5.yml new file mode 100644 index 0000000000000..fa80a47718fed --- /dev/null +++ b/changelogs/unreleased/update-puma-to-v-5.yml @@ -0,0 +1,5 @@ +--- +title: Update puma & puma_worker_killer to upstream +merge_request: 48897 +author: +type: changed diff --git a/config/puma.example.development.rb b/config/puma.example.development.rb index ecbfac660c9e4..7e616ee476807 100644 --- a/config/puma.example.development.rb +++ b/config/puma.example.development.rb @@ -79,6 +79,11 @@ # worker_timeout 60 +# https://github.com/puma/puma/blob/master/5.0-Upgrade.md#lower-latency-better-throughput +if defined?(wait_for_less_busy_worker) + wait_for_less_busy_worker ENV.fetch('PUMA_WAIT_FOR_LESS_BUSY_WORKER', 0.001).to_f +end + # Use json formatter require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter" diff --git a/config/puma.rb.example b/config/puma.rb.example index cd7adca157f2a..25e3862626070 100644 --- a/config/puma.rb.example +++ b/config/puma.rb.example @@ -69,10 +69,15 @@ tag 'gitlab-puma-worker' # worker_timeout 60 +# https://github.com/puma/puma/blob/master/5.0-Upgrade.md#lower-latency-better-throughput +if defined?(wait_for_less_busy_worker) + wait_for_less_busy_worker ENV.fetch('PUMA_WAIT_FOR_LESS_BUSY_WORKER', 0.001).to_f +end + # Use json formatter require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter" json_formatter = Gitlab::PumaLogging::JSONFormatter.new log_formatter do |str| json_formatter.call(str) -end \ No newline at end of file +end diff --git a/config/puma_actioncable.example.development.rb b/config/puma_actioncable.example.development.rb index c975f9e4f9bad..106932606e0e2 100644 --- a/config/puma_actioncable.example.development.rb +++ b/config/puma_actioncable.example.development.rb @@ -79,6 +79,11 @@ # worker_timeout 60 +# https://github.com/puma/puma/blob/master/5.0-Upgrade.md#lower-latency-better-throughput +if defined?(wait_for_less_busy_worker) + wait_for_less_busy_worker ENV.fetch('PUMA_WAIT_FOR_LESS_BUSY_WORKER', 0.001).to_f +end + # Use json formatter require_relative "/home/git/gitlab/lib/gitlab/puma_logging/json_formatter" -- GitLab