diff --git a/app/models/concerns/prometheus_adapter.rb b/app/models/concerns/prometheus_adapter.rb index afebc426762241e815f219edf245050a231ae736..86280097d192eed62215e8a5fa5a84abe0ba7c6c 100644 --- a/app/models/concerns/prometheus_adapter.rb +++ b/app/models/concerns/prometheus_adapter.rb @@ -38,7 +38,7 @@ def configured? # This is a heavy-weight check if a prometheus is properly configured and accessible from GitLab. # This actually sends a request to an external service and often it could take a long time, - # Please consider using `configured?` instead if the process is running on unicorn/puma threads. + # Please consider using `configured?` instead if the process is running on Puma threads. def can_query? prometheus_client.present? end diff --git a/config/initializers/macos.rb b/config/initializers/macos.rb index f410af6ed4792fecd541d6cb0b4c9f24ccd4d0cf..1edd6c0a730c7b2ac0684fc8716a550daf112d5a 100644 --- a/config/initializers/macos.rb +++ b/config/initializers/macos.rb @@ -5,7 +5,7 @@ require 'fiddle' # Dynamically load Foundation.framework, ~implicitly~ initialising - # the Objective-C runtime before any forking happens in Unicorn + # the Objective-C runtime before any forking happens in webserver # # From https://bugs.ruby-lang.org/issues/14009 Fiddle.dlopen '/System/Library/Frameworks/Foundation.framework/Foundation' diff --git a/config/initializers/rack_timeout.rb b/config/initializers/rack_timeout.rb index e217398ee7d455af5fdc4670f40efedfb49b311a..d5027cae08dc18bea601a32cb40273e786a829ee 100644 --- a/config/initializers/rack_timeout.rb +++ b/config/initializers/rack_timeout.rb @@ -1,6 +1,5 @@ # frozen_string_literal: true -# Unicorn terminates any request which runs longer than 60 seconds. # Puma doesn't have any timeout mechanism for terminating long-running # requests, to make sure that server is not paralyzed by long-running # or stuck queries, we add a request timeout which terminates the diff --git a/config/initializers/tracing.rb b/config/initializers/tracing.rb index 3f066953c235348cc2265a77417ccbd4cc797e5d..10b59a9e3d825984ca6092e59ec4b1149f8a9b8e 100644 --- a/config/initializers/tracing.rb +++ b/config/initializers/tracing.rb @@ -15,7 +15,7 @@ Labkit::Tracing::Rails::ActionViewSubscriber.instrument Labkit::Tracing::Rails::ActiveSupportSubscriber.instrument - # In multi-processed clustered architectures (puma, unicorn) don't + # In multi-processed clustered architectures (e.g. Puma cluster) don't # start tracing until the worker processes are spawned. This works # around issues when the opentracing implementation spawns threads Gitlab::Cluster::LifecycleEvents.on_worker_start do diff --git a/lib/gitlab/cluster/lifecycle_events.rb b/lib/gitlab/cluster/lifecycle_events.rb index b3dc59466ec0dee64230e2e649c51064c2efbe68..6b7b9b092690086518c1f6ac019071c6162d9664 100644 --- a/lib/gitlab/cluster/lifecycle_events.rb +++ b/lib/gitlab/cluster/lifecycle_events.rb @@ -8,13 +8,13 @@ module Cluster # LifecycleEvents lets Rails initializers register application startup hooks # that are sensitive to forking. For example, to defer the creation of # watchdog threads. This lets us abstract away the Unix process - # lifecycles of Unicorn, Sidekiq, Puma, Puma Cluster, etc. + # lifecycles of Sidekiq, Puma, Puma Cluster, etc. # # We have the following lifecycle events. # # - on_before_fork (on master process): # - # Unicorn/Puma Cluster: This will be called exactly once, + # Puma Cluster: This will be called exactly once, # on startup, before the workers are forked. This is # called in the PARENT/MASTER process. # @@ -22,7 +22,7 @@ module Cluster # # - on_master_start (on master process): # - # Unicorn/Puma Cluster: This will be called exactly once, + # Puma Cluster: This will be called exactly once, # on startup, before the workers are forked. This is # called in the PARENT/MASTER process. # @@ -30,7 +30,7 @@ module Cluster # # - on_before_blackout_period (on master process): # - # Unicorn/Puma Cluster: This will be called before a blackout + # Puma Cluster: This will be called before a blackout # period when performing graceful shutdown of master. # This is called on `master` process. # @@ -38,7 +38,7 @@ module Cluster # # - on_before_graceful_shutdown (on master process): # - # Unicorn/Puma Cluster: This will be called before a graceful + # Puma Cluster: This will be called before a graceful # shutdown of workers starts happening, but after blackout period. # This is called on `master` process. # @@ -46,11 +46,6 @@ module Cluster # # - on_before_master_restart (on master process): # - # Unicorn: This will be called before a new master is spun up. - # This is called on forked master before `execve` to become - # a new masterfor Unicorn. This means that this does not really - # affect old master process. - # # Puma Cluster: This will be called before a new master is spun up. # This is called on `master` process. # @@ -58,7 +53,7 @@ module Cluster # # - on_worker_start (on worker process): # - # Unicorn/Puma Cluster: This is called in the worker process + # Puma Cluster: This is called in the worker process # exactly once before processing requests. # # Sidekiq/Puma Single: This is called immediately. @@ -114,7 +109,7 @@ def on_master_start(&block) end # - # Lifecycle integration methods (called from unicorn.rb, puma.rb, etc.) + # Lifecycle integration methods (called from puma.rb, etc.) # def do_worker_start call(:worker_start_hooks, @worker_start_hooks) diff --git a/lib/gitlab/cluster/puma_worker_killer_initializer.rb b/lib/gitlab/cluster/puma_worker_killer_initializer.rb index fd9f58a34f36adc28918ecdab19f4e7565296e0f..e634291f89436af3e61105c0561067c3adbd1e54 100644 --- a/lib/gitlab/cluster/puma_worker_killer_initializer.rb +++ b/lib/gitlab/cluster/puma_worker_killer_initializer.rb @@ -12,12 +12,9 @@ def self.start( require 'puma_worker_killer' PumaWorkerKiller.config do |config| - # Note! ram is expressed in megabytes (whereas GITLAB_UNICORN_MEMORY_MAX is in bytes) - # Importantly RAM is for _all_workers (ie, the cluster), - # not each worker as is the case with GITLAB_UNICORN_MEMORY_MAX worker_count = puma_options[:workers] || 1 - # The Puma Worker Killer checks the total RAM used by both the master - # and worker processes. + # The Puma Worker Killer checks the total memory used by the cluster, + # i.e. both primary and worker processes. # https://github.com/schneems/puma_worker_killer/blob/v0.1.0/lib/puma_worker_killer/puma_memory.rb#L57 # # Additional memory is added when running in `development` diff --git a/lib/gitlab/stack_prof.rb b/lib/gitlab/stack_prof.rb index 4b7d93c91ce948c6d608f46ce6216466ea1b438d..97f52491e9ee56a3466fb12f111499961c2c757d 100644 --- a/lib/gitlab/stack_prof.rb +++ b/lib/gitlab/stack_prof.rb @@ -118,7 +118,6 @@ def self.on_worker_start # # see also: # * https://github.com/puma/puma/blob/master/docs/signals.md#puma-signals - # * https://github.com/phusion/unicorn/blob/master/SIGNALS # * https://github.com/mperham/sidekiq/wiki/Signals Signal.trap('SIGUSR2') do write.write('.') diff --git a/lib/support/init.d/gitlab.default.example b/lib/support/init.d/gitlab.default.example index 1b499467ad6bcd76c5e714497c05d77fe7c0e3a7..53bebe55fa369775e98cfd3c2096395218bcde78 100644 --- a/lib/support/init.d/gitlab.default.example +++ b/lib/support/init.d/gitlab.default.example @@ -5,9 +5,6 @@ # Normal values are "production", "test" and "development". RAILS_ENV="production" -# Uncomment the line below to enable the Unicorn web server instead of Puma. -# use_web_server="unicorn" - # app_user defines the user that GitLab is run as. # The default is "git". app_user="git" @@ -43,7 +40,7 @@ gitlab_workhorse_pid_path="$pid_path/gitlab-workhorse.pid" # socket. To listen on TCP connections (needed by Apache) change to: # '-listenNetwork tcp -listenAddr 127.0.0.1:8181' # -# The -authBackend setting tells gitlab-workhorse where it can reach Unicorn. +# The -authBackend setting tells gitlab-workhorse where it can reach the GitLab Rails application. # For relative URL support change to: # '-authBackend http://127.0.0.1/8080/gitlab' # Read more in http://doc.gitlab.com/ce/install/relative_url.html diff --git a/lib/tasks/gitlab/setup.rake b/lib/tasks/gitlab/setup.rake index 31bd80e78d408be544a26174f7db2cc876b96b1b..705519d17417f67e15174b486f81af6b4fc1242b 100644 --- a/lib/tasks/gitlab/setup.rake +++ b/lib/tasks/gitlab/setup.rake @@ -40,7 +40,7 @@ namespace :gitlab do end # If there are any clients connected to the DB, PostgreSQL won't let - # you drop the database. It's possible that Sidekiq, Unicorn, or + # you drop the database. It's possible that Sidekiq, Puma, or # some other client will be hanging onto a connection, preventing # the DROP DATABASE from working. To workaround this problem, this # method terminates all the connections so that a subsequent DROP diff --git a/workhorse/internal/api/api.go b/workhorse/internal/api/api.go index d8e2a7b0d9f7b15d64ee9e4bb7f0e2913434b758..129de1fd7b3d3a1c2606a13cfab68c4ee6fed82e 100644 --- a/workhorse/internal/api/api.go +++ b/workhorse/internal/api/api.go @@ -308,7 +308,7 @@ func (api *API) PreAuthorizeHandler(next HandleFunc, suffix string) http.Handler return } - httpResponse.Body.Close() // Free up the Unicorn worker + httpResponse.Body.Close() // Free up the Puma thread copyAuthHeader(httpResponse, w) @@ -347,7 +347,7 @@ func copyAuthHeader(httpResponse *http.Response, w http.ResponseWriter) { func passResponseBack(httpResponse *http.Response, w http.ResponseWriter, r *http.Request) { // NGINX response buffering is disabled on this path (with - // X-Accel-Buffering: no) but we still want to free up the Unicorn worker + // X-Accel-Buffering: no) but we still want to free up the Puma thread // that generated httpResponse as fast as possible. To do this we buffer // the entire response body in memory before sending it on. responseBody, err := bufferResponse(httpResponse.Body) @@ -355,7 +355,7 @@ func passResponseBack(httpResponse *http.Response, w http.ResponseWriter, r *htt helper.Fail500(w, r, err) return } - httpResponse.Body.Close() // Free up the Unicorn worker + httpResponse.Body.Close() // Free up the Puma thread bytesTotal.Add(float64(responseBody.Len())) for k, v := range httpResponse.Header {