Uploaded image for project: 'Puppet'
  1. Puppet
  2. PUP-1558

Serialize webrick request handlers

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Normal
    • Resolution: Duplicate
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: Networking
    • Labels:
      None
    • Template:
    • Story Points:
      1

      Description

      We are calling the WEBrick::HTTPServer#start method with a block, which will cause webrick to spawn a thread for each accepted http connection. As a result, the puppetmaster on webrick is actually multithreaded. We recently removed serialization code from the internals of puppet, since it was broken, didn't really work, and decreased overall performance (even for non-webrick users). However, we do still have global state in puppet, and we need to make sure the webrick server does not process multiple requests in parallel. This is not an issue for passenger, because each request is handled in a separate worker process.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                josh Josh Cooper
              • Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Zendesk Support