From af09f08a50a9deea26bfa71f06db66a53300ad18 Mon Sep 17 00:00:00 2001 From: nikhilbhatt Date: Sat, 23 Dec 2023 00:48:36 +0530 Subject: [PATCH 1/2] fix update phased restart symlink folder --- lib/puma/launcher.rb | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/lib/puma/launcher.rb b/lib/puma/launcher.rb index 8fd7d57f20..3ad90fde50 100644 --- a/lib/puma/launcher.rb +++ b/lib/puma/launcher.rb @@ -165,6 +165,13 @@ def phased_restart log "* phased-restart called but not available, restarting normally." return restart end + + if @options.file_options[:tag].nil? + dir = File.realdirpath(@restart_dir) + @options[:tag] = File.basename(dir) + set_process_title + end + true end From 558b0487c16ef1df943038b08ed8e8085b0b524b Mon Sep 17 00:00:00 2001 From: nikhilbhatt Date: Sun, 24 Dec 2023 14:03:37 +0530 Subject: [PATCH 2/2] added test cases --- test/test_worker_gem_independence.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/test_worker_gem_independence.rb b/test/test_worker_gem_independence.rb index d064dfd451..b7e66e0fea 100644 --- a/test/test_worker_gem_independence.rb +++ b/test/test_worker_gem_independence.rb @@ -112,10 +112,13 @@ def change_gem_version_during_phased_restart(old_app_dir:, silent_and_checked_system_command("bundle install") end end + + verify_process_tag(@server.pid, File.basename(old_app_dir)) start_phased_restart connection = connect new_reply = read_body(connection) + verify_process_tag(@server.pid, File.basename(new_app_dir)) assert_equal new_version, new_reply end @@ -142,4 +145,10 @@ def with_unbundled_env Bundler.with_unbundled_env { yield } end end + + def verify_process_tag(pid, tag) + cmd = "ps aux | grep #{pid}" + io = IO.popen cmd, 'r' + assert io.read.include? tag + end end