Bug #1722
Puppetmaster sits at 100% CPU usage after client disconnect
| Status: | Needs design decision | Start: | 10/31/2008 | |
| Priority: | Normal | Due date: | ||
| Assigned to: | % Done: | 0% |
||
| Category: | transactions | |||
| Target version: | - | |||
| Complexity: | Unknown |
Affected version: | 0.24.5 |
|
| Keywords: | ||||
| Votes: | 0 |
Description
If for some reason a client disconnects say due to a timeout the puppetmaster server will just sit and use up all of the CPU power on the server.
If there is anything more you need me to add to this please let me know.
History
Updated by Robert Lazzurs 8 months ago
Hello,
Some more useful information I hope.
I tested this with 7 puppet clients running Fedora 8 and the server running 5 puppetmasterd processes on the server using --mongrel and going through nginx. The server was running Fedora 9.
Puppet was the RPM available from the distribution.
I can make this happen every time I try and run the above and I have not seen an end to the CPU usage after 20 mins when I had to kill the puppetmasterd processes on the server.
I hope this extra information is helpful, if you need anything else please let me know.
Updated by Brice Figureau 8 months ago
lazzurs wrote:
I think you should:If there is anything more you need me to add to this please let me know.
- include puppetmasterd logs and clients logs in debug mode
- try to reproduce it with a webrick only test install
- try to reproduce with a simple config that someone else can run
Updated by Robert Lazzurs 8 months ago
Excellent, thanks for the feedback. I will get this information added on Monday or Tuesday.
Thanks again.
Updated by James Turnbull 8 months ago
- Category set to transactions
- Status changed from Unreviewed to Needs design decision
Updated by Brice Figureau 8 months ago
lazzurs wrote:
Also, you should try to instrument your ruby interpreter:Excellent, thanks for the feedback. I will get this information added on Monday or Tuesday.
- strace the live process to find if it spends time in the kernel
- use gdb with a ruby extension to get a ruby stacktrace:
http://eigenclass.org/hiki.rb?ruby+live+process+introspection