[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
|Reporter:||Justin Stoller||Assignee:||Justin Stoller|
|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.