Bug 1372439
| Summary: | Add ability to swap the default threaded puma web server for thin | |||
|---|---|---|---|---|
| Product: | Red Hat CloudForms Management Engine | Reporter: | Joe Rafaniello <jrafanie> | |
| Component: | Appliance | Assignee: | Joe Rafaniello <jrafanie> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Pete Savage <psavage> | |
| Severity: | unspecified | Docs Contact: | ||
| Priority: | unspecified | |||
| Version: | 5.7.0 | CC: | abellott, cpelland, jhardy, jprause, obarenbo, simaishi | |
| Target Milestone: | GA | Keywords: | TestOnly, ZStream | |
| Target Release: | 5.7.0 | |||
| Hardware: | Unspecified | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | 5.7.0.0 | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | ||
| Clone Of: | ||||
| : | 1372801 (view as bug list) | Environment: | ||
| Last Closed: | 2017-01-11 20:08:29 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | Feature | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1372801 | |||
|
Description
Joe Rafaniello
2016-09-01 17:39:13 UTC
Upstream pull request: https://github.com/ManageIQ/manageiq/pull/10447 Upstream darga backport: https://github.com/ManageIQ/manageiq/pull/10713 From pull request: Purpose or Intent Puma handles each request in a new thread, leading to possible thread issues with the database connection pool, ActiveSupport::Dependencies interlock and our locks, or thread unsafe code in our application. Thin, while it may be run in threads via --threaded, does not use threads by default. See here This patch allows for thin 1.7.0+ and gives us an option to use either puma or thin. Note, earlier versions are not compatible with rack 2. We still default to puma. Steps for Testing/QA Note: Testers/users, the proctitle for UI/Webservice and web socket workers will look different in ps, top, etc. if you use thin instead of puma. Puma configures it's own proctitle and we configure the parts that we can. Thin does not, so it will look like all the other workers. For example: thin: 43177 ttys002 0:08.20 MIQ: MiqUiWorker id: 158, uri: http://0.0.0.0:3000 puma: 43871 ttys004 0:00.68 puma 3.3.0 (tcp://0.0.0.0:3000) [MIQ: Web Server Worker] To change the web server, change puma to thin in the advanced configuration: :server: :rails_server: puma *** Bug 1375328 has been marked as a duplicate of this bug. *** Verified in 5.7.0.14 |