DB connections not closing under mod_perl

RESOLVED FIXED in Bugzilla 3.0

Status

()

defect
P1
major
RESOLVED FIXED
11 years ago
11 years ago

People

(Reporter: webmaster, Assigned: mkanat)

Tracking

unspecified
Bugzilla 3.0
Dependency tree / graph
Bug Flags:
approval3.0 +
blocking3.0.5 +

Details

(Whiteboard: [only affects 3.0.x])

Attachments

(3 attachments)

User-Agent:       Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080316 SUSE/2.0.0.13-0.2 Firefox/2.0.0.13
Build Identifier: R3.0.4

As discussed on mozilla.support.bugzilla, the Bugzilla 3.0 release/stable stream is missing this line in the Bugzilla::ModPerl::CleanupHandler

Bugzilla::_cleanup();


In CVS, mod_perl.pl with the rtag Bugzilla_Stable, BUGZILLA-3_0_4, BUGZILLA-3_0_3 and BUGZILLA-3_0-STABLE is 1.5.2.2, and that version does not call Bugzilla::_cleanup();

Anyone installing BZ from CVS, using any of those rtags and using mod_perl will likely have a problem with too many DB connections to the master.

The call to Bugzilla::_cleanup() appears in mod_perl.pl 1.6, which is rtagged BUGZILLA-3_1_1 (and BUGZILLA-3_1_2).

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
This is essentially a regression of bug 408766. Or at the least, having Apache::DBI around hid this problem, because when you have persistent connections, you don't need to close them.
Assignee: database → mkanat
Severity: normal → major
Status: UNCONFIRMED → NEW
Depends on: 408766
Ever confirmed: true
Flags: blocking3.0.5+
Priority: -- → P1
Whiteboard: [only affects 3.0.x]
Target Milestone: --- → Bugzilla 3.0
Denis, could you tell me if this patch works?

And dkl, I just need a code review on this ridiculously small patch.
Attachment #326517 - Flags: review?(webmaster)
Attachment #326517 - Flags: review?(dkl)
I tested the patch on R3.0.4 and my connection count went from 400+ to 30.   I'd set the review flag, but I'm not authorized to.
Comment on attachment 326517 [details] [diff] [review]
Looks good.

r=dkl

Okay, I'm setting this for Denis.
Attachment #326517 - Flags: review?(webmaster) → review+
Attachment #326517 - Attachment description: v1 → Looks good. r=dkl
Attachment #326517 - Flags: review?(dkl) → review+
Checking in mod_perl.pl;
/cvsroot/mozilla/webtools/bugzilla/mod_perl.pl,v  <--  mod_perl.pl
new revision: 1.5.2.3; previous revision: 1.5.2.2
done
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: approval3.0+
Resolution: --- → FIXED
Don't forget to relnote this one when releasing 3.0.5. :)
I experienced the same problem in 3.0.5. After using bugzilla for a while i get the "too many connections" error and have to restart mysql.

The changes in the patch provided for this bug are in the mod_perl.pl .

mysql: 5.0.18, for suse-linux (i686)
  maxconnection = 300

Webserver: apache2, keepalive off
  mod_perl

Brwoser: Firefox 3.0.1

What other information could be helpful?
(In reply to comment #7)
How many httpd children are there, at the time? Does Bugzilla display its version number as 3.0.5 on the home page?
There are 8 httpd childen. The version shown on the home page is 3.0.5.
Okay. When MySQL is locked up, can you get me the output of:

SHOW FULL PROCESSLIST;

And attach it here as an attachment (not a comment)?
maxconnections was not defined in my.cnf (-> default = 100) to produce the error faster. It also occurs with maxconnections=300
Okay, can you go to the root of your Bugzilla installation and do a "cvs -q diff -Nu" and attach the results of that?
a colleague of me commented out the line with add_config, but added the whole thing directly in the apache config file
Okay. If you're not using the mod_perl.pl config (which you're not, since you commented out that line), then your problem comes from that and we can't be held responsible in any way for anything that happens to your installation, including the fact that it's probably going to leak memory like mad.

So anyhow, your issue is not a bug in Bugzilla, and this bug is still validly FIXED.
you are right. sorry for vasting your time.
Duplicate of this bug: 449676
You need to log in before you can comment on or make changes to this bug.