summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-07-30 18:28:37 +0000
committerRémy Coutable <remy@rymai.me>2018-07-30 18:28:37 +0000
commit0a40035c0762be80330a0155dc790d3fde90da68 (patch)
treeecfd8a787195f2cddcb4abc9d332c639e2cc3c74
parentcb2e07309b4e61501a44c3568155bdb73252338f (diff)
parent37748e44f7d1eec0b280d1f6aa15b2282a12dec4 (diff)
downloadgitlab-ce-0a40035c0762be80330a0155dc790d3fde90da68.tar.gz
Merge branch 'sh-make-unicorn-work-rbtrace' into 'master'
Make rbtrace work under unicorn See merge request gitlab-org/gitlab-ce!20892
-rw-r--r--config/initializers/rbtrace.rb3
-rw-r--r--config/initializers/sidekiq.rb2
-rw-r--r--config/unicorn.rb.example4
-rw-r--r--doc/administration/troubleshooting/debug.md7
4 files changed, 12 insertions, 4 deletions
diff --git a/config/initializers/rbtrace.rb b/config/initializers/rbtrace.rb
deleted file mode 100644
index 3a076c99ad0..00000000000
--- a/config/initializers/rbtrace.rb
+++ /dev/null
@@ -1,3 +0,0 @@
-# frozen_string_literal: true
-
-require 'rbtrace' if ENV['ENABLE_RBTRACE']
diff --git a/config/initializers/sidekiq.rb b/config/initializers/sidekiq.rb
index f6803eb0b5a..6f54bee4713 100644
--- a/config/initializers/sidekiq.rb
+++ b/config/initializers/sidekiq.rb
@@ -8,6 +8,8 @@ Sidekiq.default_worker_options = { retry: 3 }
enable_json_logs = Gitlab.config.sidekiq.log_format == 'json'
Sidekiq.configure_server do |config|
+ require 'rbtrace' if ENV['ENABLE_RBTRACE']
+
config.redis = queues_config_hash
config.server_middleware do |chain|
diff --git a/config/unicorn.rb.example b/config/unicorn.rb.example
index 220a0191160..8f2d842e5b6 100644
--- a/config/unicorn.rb.example
+++ b/config/unicorn.rb.example
@@ -124,6 +124,10 @@ before_fork do |server, worker|
end
after_fork do |server, worker|
+ # Unicorn clears out signals before it forks, so rbtrace won't work
+ # unless it is enabled after the fork.
+ require 'rbtrace' if ENV['ENABLE_RBTRACE']
+
# per-process listener ports for debugging/admin/migrations
# addr = "127.0.0.1:#{9293 + worker.nr}"
# server.listen(addr, :tries => -1, :delay => 5, :tcp_nopush => true)
diff --git a/doc/administration/troubleshooting/debug.md b/doc/administration/troubleshooting/debug.md
index 7ae4f7c1515..2902af8c782 100644
--- a/doc/administration/troubleshooting/debug.md
+++ b/doc/administration/troubleshooting/debug.md
@@ -77,7 +77,12 @@ and more. However, this is not enabled by default. To enable it, define the
gitlab_rails['env'] = {"ENABLE_RBTRACE" => "1"}
```
-Then reconfigure the system and restart Unicorn and Sidekiq.
+Then reconfigure the system and restart Unicorn and Sidekiq. To run this
+in Omnibus, run as root:
+
+```ruby
+/opt/gitlab/embedded/bin/ruby /opt/gitlab/embedded/bin/rbtrace
+```
## Common Problems