In doing some memory leak analysis for
SERVER-219, I found a memory leak in JRuby. Even after terminate is called on a ScriptingContainer, three ChannelDescriptor objects – related to STDIN, STDERR, and STDOUT – and a few related objects are leaked. This leak would be manifested in Puppet Server around invocations of the "jruby-pool" DELETE admin API.
An issue was filed to the JRuby project as https://github.com/jruby/jruby/issues/2333. A fix has already been implemented for the problem and is scheduled to be delivered in JRuby 1.7.19.
This ticket is just a reminder to track the JRuby issue and test a fix when available in an upgrade to Puppet Server's JRuby dependency.