From 9fc5f941db16373d1741a28f9e7b962d9e5a2746 Mon Sep 17 00:00:00 2001 From: Sean P McDonald Date: Mon, 17 May 2021 09:43:24 -0500 Subject: [PATCH 1/3] Merge pull request #93 from gimmyxd/maint/relax_concurrent (maint) remove concurrent-ruby lock --- agentless-catalog-executor.gemspec | 2 -- 1 file changed, 2 deletions(-) diff --git a/agentless-catalog-executor.gemspec b/agentless-catalog-executor.gemspec index 0c06002..438da9a 100644 --- a/agentless-catalog-executor.gemspec +++ b/agentless-catalog-executor.gemspec @@ -21,8 +21,6 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.required_ruby_version = "~> 2.5" - # Pin concurrent-ruby to 1.1.5 until https://github.com/ruby-concurrency/concurrent-ruby/pull/856 is released - spec.add_dependency "concurrent-ruby", "1.1.5" spec.add_dependency "bolt", ">= 2.9" From 5b64dd1bc63a3b0bf2e30956f3b186b7ee30e3e2 Mon Sep 17 00:00:00 2001 From: Enis Inan Date: Wed, 26 May 2021 12:53:06 -0700 Subject: [PATCH 2/3] (PE-31689) Don't fork in run_task endpoint This was originally added as part of https://github.com/puppetlabs/ace/pull/12 with no context behind the addition. Turns out it is an unnecessary efficiency, so we revert back to the previous behavior of just calling executor.run_task and having the request-handling thread run the task. This is OK since the run_task endpoint only takes in one target. Signed-off-by: Enis Inan --- lib/ace/transport_app.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/ace/transport_app.rb b/lib/ace/transport_app.rb index d65d1a4..523c6cd 100644 --- a/lib/ace/transport_app.rb +++ b/lib/ace/transport_app.rb @@ -251,11 +251,9 @@ def self.trusted_facts(certname) parameters = body['parameters'] || {} - result = ForkUtil.isolate do - # Since this will only be on one node we can just return the first result - results = @executor.run_task(target, task, parameters) - scrub_stack_trace(results.first.to_data) - end + # Since this will only be on one node we can just return the first result + results = @executor.run_task(target, task, parameters) + result = scrub_stack_trace(results.first.to_data) [200, result.to_json] rescue Exception => e # rubocop:disable Lint/RescueException # handle all the things and make it obvious what happened From 788c58c5298434f4dba14817b412e963577dd975 Mon Sep 17 00:00:00 2001 From: Steve Axthelm Date: Wed, 26 May 2021 15:41:54 -0700 Subject: [PATCH 3/3] (maint) add changelog entry for PE-31689 --- CHANGELOG.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 60808b2..db09e19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Unreleased + +- \(PE-31689\) remove unnecessary fork in run_task endpoint + All significant changes to this repo will be summarized in this file. ## [v1.2.4](https://github.com/puppetlabs/ace/tree/v1.2.4) (2021-04-28)