[SERVER-2166] Document the need for using Puppet::Util::Execution in JRuby extensions Created: 2018/03/29  Updated: 2018/03/30  Resolved: 2018/03/30

Status: Resolved
Project: Puppet Server
Component/s: DOCS
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Normal
Reporter: Justin Stoller Assignee: Justin Stoller
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Epic Link: JRuby in the Wild
Release Notes: Not Needed
QA Risk Assessment: Needs Assessment


Any executing of external commands by users in extensions should be done using Puppet::Util::Execution.execute and not Ruby's built in methods, because the built in methods will eventually call either fork&exec or some flavor of *spawn.

On all currently supported linuxes posix_spawn is also implemented via fork&exec. Forking a JVM process with a large amount of heap can easily cause out of memory errors.

Comment by Justin Stoller [ 2018/03/29 ]

Set "DOCS" to not needed... Since this is a documentation ticket.

Generated at Fri Aug 07 09:17:39 PDT 2020 using Jira 8.5.2#805002-sha1:a66f9354b9e12ac788984e5d84669c903a370049.