Clark Kent can over-consume system resources
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Evergreen |
Fix Released
|
Wishlist
|
Unassigned | ||
2.6 |
Fix Released
|
Undecided
|
Unassigned | ||
2.7 |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Clark Kent can sometimes consume more RAM, swap space, or CPU than is reasonable or productive. For example:
- a badly constructed query with multiple Cartesian joins may never terminate, potentially tying up a Clark child process, pegging a CPU on the database server, and/or causing significant scratch disk usage on the database server keeping a snapshot alive.
- a query that returns a very large number of rows can cause a Clark child to bloat, and in extreme cases cause a OOM on the server running Clark.
- a report that asks for a chart of an unreasonably large number of rows can peg a CPU on the Clark server as GD::Graph attempts to compute sub-pixel graph elements.
In each of these cases, a request report may never finish.
A forthcoming patch series will allow limits to be placed on Clark's resource usage, settable via opensrf.xml and command-line switches.
Evergreen master
Changed in evergreen: | |
importance: | Undecided → Wishlist |
tags: | added: pullrequest reports |
Changed in evergreen: | |
status: | New → Triaged |
milestone: | none → 2.next |
Changed in evergreen: | |
status: | Fix Committed → Fix Released |
A patch can be found at the tip of the user/gmcharlt/ lp1435494- clip-the- cape-of- clark branch in the working/Evergreen repository:
http:// git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=shortlog; h=refs/ heads/user/ gmcharlt/ lp1435494- clip-the- cape-of- clark