Uploaded image for project: 'Puppet Server'
  1. Puppet Server
  2. SERVER-408

Expose configurable `borrow-timeout` to allow JRuby pool borrows to timeout

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Normal
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: SERVER 1.0.8, SERVER 2.1.0
    • Component/s: None
    • Labels:
      None

      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

            Activity

              People

              • Assignee:
                qa qa
                Reporter:
                chris Chris Price
                QA Contact:
                Erik Dasher
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support