Open Bug 767271 Opened 12 years ago Updated 8 years ago

detect and cancel long running mod_perl processes

Categories

(Bugzilla :: Bugzilla-General, defect)

defect
Not set
normal

Tracking

()

People

(Reporter: glob, Unassigned)

Details

every now and then we see *extremely* long httpd worker processes on bmo (today: 394838 seconds for a post to xmlrpc.cgi).

we should deploy something which kills very long running working processes (> 8 hours ?)
I'm not really sure killing apache workers works that well (i've seen it kill httpd altogether sometimes).

How about looking at something like http://httpd.apache.org/docs/2.2/mod/mpm_common.html#maxrequestsperchild 

I'm also CC'ing some webops folks for their input.
Assignee: server-ops-devservices → shyam
maxrequestsperchild doesn't appear to limit the duration a worker can spend servicing a single request.

we really need something like http://httpd.apache.org/docs/2.2/mod/core.html#timeout however that doesn't work when using mod_perl.
CC'ing Ashish.
Assignee: shyam → server-ops-devservices
QA Contact: shyam → nmaul
Assignee: server-ops-devservices → server-ops-webops
Component: Server Operations: Developer Services → WebOps: Bugzilla
Product: mozilla.org → Infrastructure & Operations
Generally, since this is running in mod_perl, nothing prevents bugzilla's main handler from setting a timeout, say 30 seconds, and gracefully self-terminate with logging if it runs out of time.

Better solution than an external kill script, IMO.
Assignee: server-ops-webops → general
Component: WebOps: Bugzilla → Bugzilla-General
Product: Infrastructure & Operations → Bugzilla
QA Contact: nmaul → default-qa
Version: other → unspecified
Can we implement this ?
Flags: needinfo?(glob)
Assignee: general → nobody
Component: Bugzilla-General → Infrastructure
Product: Bugzilla → bugzilla.mozilla.org
QA Contact: default-qa → mcote
Version: unspecified → Production
dkl, this isn't an infrastructure issue - bugzilla's mod_perl handler should detect long running processes as per comment 4.

(In reply to Philippe M. Chiasson (:gozer) from comment #5)
> Can we implement this ?

sure; i'll take a look.
Assignee: nobody → glob
Component: Infrastructure → Bugzilla-General
Flags: needinfo?(glob)
OS: Mac OS X → All
Product: bugzilla.mozilla.org → Bugzilla
QA Contact: mcote → default-qa
Hardware: x86 → All
Version: Production → unspecified
Summary: deploy something to kill long running apache processes on bugzilla.mozilla.org → detect and cancel long running mod_perl processes
Assignee: glob → general
You need to log in before you can comment on or make changes to this bug.