[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 Mon Jan 20 18:23:39 PST 2020 using JIRA 7.7.1#77002-sha1:e75ca93d5574d9409c0630b81c894d9065296414.