gitaly may not be killed when rspec crashes or receive kill signal
Discussed this today with @jacobvosmaer-gitlab. There may be situations where RSpec crashes (when running on a local machine), and it will never kill gitaly process:
ps -ax -o pid,etime,args | grep ruby
30596 03-15:41:45 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 30593 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby627583489/socket.1
30597 03-15:41:45 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 30593 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby627583489/socket.0
31085 03-15:31:52 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 31080 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby607029183/socket.1
31086 03-15:31:52 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 31080 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby607029183/socket.0
33387 03-15:01:55 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 33383 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby848897124/socket.1
33388 03-15:01:55 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 33383 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby848897124/socket.0
39962 15:58 /Applications/RubyMine.app/Contents/MacOS/rubymine
57759 03-11:26:15 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 57756 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby025011168/socket.0
57760 03-11:26:15 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 57756 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby025011168/socket.1
57986 03-11:22:37 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 57969 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby009930470/socket.1
57987 03-11:22:37 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 57969 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby009930470/socket.0
58440 03-11:19:02 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 58425 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby614584996/socket.0
58441 03-11:19:02 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 58425 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby614584996/socket.1
58852 03-11:17:11 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 58837 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby401757626/socket.0
58853 03-11:17:11 ruby /Users/brodock/Projetos/Gitlab/gdk-ce/gitlab/tmp/tests/gitaly/ruby/bin/gitaly-ruby 58837 /var/folders/qb/_jzjpp5s6svc38hb2hv5wqzh0000gn/T/gitaly-ruby401757626/socket.1
ps -o pid,etime,args -p (pgrep gitaly)
PID ELAPSED ARGS
30593 03-15:40:04 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
31080 03-15:30:11 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
33383 03-15:00:14 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
57756 03-11:24:33 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
57969 03-11:20:55 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
58425 03-11:17:20 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
58837 03-11:15:29 tmp/tests/gitaly/gitaly tmp/tests/gitaly/config.toml
I don't have a good idea how to reproduce this, but it looks like it may have to do with killing the process from rubymine. @jacobvosmaer-gitlab had an idea to hook the kill_gitaly method with an at_exit ruby hook.
Edited by Jacob Vosmaer