Skip to content
代码片段 群组 项目
未验证 提交 ee45ecba 编辑于 作者: Matthias Käppler's avatar Matthias Käppler 提交者: GitLab
浏览文件

Merge branch '8191-fix-process-supervisor-spec' into 'master'

Address race conditioning between supervisor thread and main thread

See merge request https://gitlab.com/gitlab-org/gitlab/-/merge_requests/142425



Merged-by: default avatarMatthias Käppler <mkaeppler@gitlab.com>
Approved-by: default avatarAleksei Lipniagov <alipniagov@gitlab.com>
Approved-by: default avatarMatthias Käppler <mkaeppler@gitlab.com>
Reviewed-by: default avatarAleksei Lipniagov <alipniagov@gitlab.com>
Reviewed-by: default avatarMatthias Käppler <mkaeppler@gitlab.com>
Co-authored-by: default avatarNikola Milojevic <nmilojevic@gitlab.com>
No related branches found
No related tags found
无相关合并请求
......@@ -42,7 +42,7 @@ def spawn_process
pids_killed = []
supervisor.supervise(process_ids) do |dead_pids|
pids_killed = dead_pids
pids_killed += dead_pids
[]
end
......@@ -60,7 +60,7 @@ def spawn_process
pids_killed = []
supervisor.supervise(process_ids) do |dead_pids|
pids_killed = dead_pids
pids_killed += dead_pids
[42] # Fake starting a new process in place of the terminated one.
end
......@@ -68,7 +68,7 @@ def spawn_process
Process.kill('TERM', process_ids.first)
await_condition(sleep_sec: health_check_interval_seconds) do
pids_killed == [process_ids.first]
pids_killed.include?(process_ids.first)
end
expect(Gitlab::ProcessManagement.process_alive?(process_ids.first)).to be(false)
......@@ -81,7 +81,7 @@ def spawn_process
pids_killed = []
supervisor.supervise(process_ids) do |dead_pids|
pids_killed = dead_pids
pids_killed += dead_pids
# Fake a new process having the same pid as one that was just terminated.
[process_ids.last]
end
......@@ -90,7 +90,7 @@ def spawn_process
Process.kill('TERM', process_ids.first)
await_condition(sleep_sec: health_check_interval_seconds) do
pids_killed == [process_ids.first]
pids_killed.include?(process_ids.first)
end
expect(supervisor.supervised_pids).to contain_exactly(process_ids.last)
......@@ -101,7 +101,7 @@ def spawn_process
pids_killed = []
supervisor.supervise(process_ids) do |dead_pids|
pids_killed = dead_pids
pids_killed += dead_pids
42
end
......@@ -109,7 +109,7 @@ def spawn_process
Process.kill('TERM', process_ids.first)
await_condition(sleep_sec: health_check_interval_seconds) do
pids_killed == [process_ids.first]
pids_killed.include?(process_ids.first)
end
expect(supervisor.supervised_pids).to contain_exactly(42, process_ids.last)
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册