Details
-
Improvement
-
Status: Closed
-
Normal
-
Resolution: Fixed
-
None
-
None
-
None
-
1
-
Server Jade 2015-03-18, Server Jade 2015-04-01
Description
When Puppet Server's master is handling a request that needs to be handled by JRuby, the master will borrow a JRuby request instance from a pool. Currently, the borrow attempt will block indefinitely. Under high-load situations where all of the instances of the pool are in use, then, requests could back up indefinitely waiting for a JRuby instance to become available.
In order to bound the amount of time that a borrow attempt could take, a borrow-timeout setting should be made available to the user to configure the maximum wait time. A reasonably high value should be used as the default, however, to avoid introducing large numbers of request failures for "normal" cases where a master might be experiencing temporary traffic spikes. This ticket proposes that a 20 minute maximum be used as the default value.
The work for this ticket was already done on the Puppet Server master branch – in SERVER-246 and SERVER-389. This ticket basically just tracks the backport of the borrow-timeout functionality to the Puppet Server stable branch for inclusion in a 1.x release.
___
Risk assessment: Low (QA will not perform any validation)
Probability: Low
Severity: Low (generally only affects a single puppet agent run)
Attachments
Issue Links
- relates to
-
SERVER-246 change macro 'borrow's to 'borrow-with-timeout' in jruby service
-
- Closed
-
-
SERVER-389 Bump default-borrow-timeout to something significantly higher
-
- Closed
-
- links to