Bug 87406 (mod_perl)

Make Bugzilla work with mod_perl (under Apache)

RESOLVED FIXED in Bugzilla 3.0

Status

()

enhancement
P1
normal
RESOLVED FIXED
18 years ago
5 years ago

People

(Reporter: afranke, Assigned: mkanat)

Tracking

(Depends on 2 bugs, Blocks 1 bug, {perf, topperf})

Dependency tree / graph

Details

()

Reporter

Description

18 years ago
With this bug I'm following up on the posts from Richard Walters in .webtools.
It is meant to track all the work required to make Bugzilla work with mod_perl.
Reporter

Comment 1

18 years ago
The diff -w is still big (>300K unzipped), so I think it's probably best to do
this in several different steps. The first thing should probably be the
introduction of a bugzilla namespace. I'm going to file a dependent bug on that.
Reporter

Updated

18 years ago
Depends on: bz-globals
Reporter

Updated

18 years ago
Keywords: perf
Whiteboard: tarball against 2001-05-22 CVS available at above URL
Keywords: patch, review
Priority: -- → P2
Target Milestone: --- → Bugzilla 2.16

Comment 2

18 years ago
I've been operating my mod_perl enabled Bugzilla for a while now and found and
fixed a few bugs here and there, which were introduced by my changes to run
Bugzilla under mod_perl.  The bugs are tricky to find because they manifest
themselves as variables which were assumed to go away between instances of the
scripts, but instead "stay around" due to the fact that Perl variables are
persistant in mod_perl.

So I would caution those that try to use mod_perl with Bugzilla, that there are
probably more bugs to be cleaned up.

On the bright side, fixing these variable lifetime assumption bugs make the code
more robust (fewer assumptions = more robustness) so it is helping to improve
the coding style of Bugzilla.
Severity: major → enhancement
Target Milestone: Bugzilla 2.16 → Bugzilla 2.18
Reporter

Comment 3

18 years ago
-> Bugzilla product, General component, reassigning.
Assignee: tara → justdave
Component: Bugzilla → Bugzilla-General
Product: Webtools → Bugzilla
Version: Bugzilla 2.13 → 2.13
Target Milestone: Bugzilla 2.18 → Bugzilla 2.16
Reporter

Updated

18 years ago
Blocks: 104690
This ain't on the 2.16 train, according to opinion in #mozwebtools. There's much
more high-priority stuff.

Gerv
Target Milestone: Bugzilla 2.16 → Bugzilla 2.18
This would be a big performance win.  Adding to the performance issues meta-bug.
Blocks: bz-perf
Alias: mod_perl
Depends on: 173621
Severity: enhancement → major
Depends on: 173629
No longer depends on: 173621
Keywords: topperf
Depends on: 173897

Comment 6

17 years ago
PLEASE fix this as soon as possible!  I just installed Bugzilla on my lowly P200
and it takes (literally) 14 seconds for every request due to the time it takes
to initialize all the Perl modules!  This may not seem like a big deal to people
using servers with GHz+ speeds and tons of memory, but the performance I'm
seeing on my older machine is downright pathetic.

I don't understand why Bugzilla wasn't written with mod_perl in mind in the
first place.  It was well known in 1998 that mod_perl is significantly faster,
so what possessed Bugzilla's authors to go CGI-only and pollute the global
namespace too?
-> me, and removing the now out of date url link

I need to fix bug 87411's deps first, but I have semi-patches for most of those,
not including the ones I'm about to file. I also need to fix bug 171493 (which
again I have a patch for) but I'm waiting for he groups rewrite to land (next
week, I believe), since that will invalidate it slightly.

show_bug.cgi accounts for just under 40% of bmo's page load, so I want to get
that one going first, after I do the index page as a proof-of-concept. After bug
171493 is fixed (and the other dependencies), that shouldn't be too hard.

Bugzilla didn't use mod_perl because it was originally a direct port from tcl :)
Some routines haven't been modified since that was originally done....
Depends on: 171493
Whiteboard: tarball against 2001-05-22 CVS available at above URL
No longer depends on: 171493
Depends on: 199813
Depends on: 201816
what is the current status on this?
(How did I avoid getting ccd on this...)

the status is that theres still work to to. See bug 87411 for most of it. I have
show_bug working locally, with a lot of hacking.
Depends on: 208604
No longer depends on: 98451
Pushing out bugs that aren't blockers.  If someone's working on one of these, we
can move it back.
Target Milestone: Bugzilla 2.18 → Bugzilla 2.20
Assignee

Comment 12

15 years ago
Note that mod_perl doesn't read the -T switch on the shebang line, so we either
need to turn on taint by a variable in each script and module, or set it in the
.htaccess or in the .conf file for the directory. (I think it's PerlTaintCheck
or something like that.)
Assignee

Updated

15 years ago
Blocks: bz-majorarch
Assignee

Comment 13

15 years ago
I'm guessing that we'll see this actually work well by Bugzilla 2.24. I actually
don't see it being fully complete by 2.22. Although you never know, maybe if we
get close enough we'll see it happen.
Assignee: justdave → mkanat
Severity: major → enhancement
Target Milestone: Bugzilla 2.20 → Bugzilla 2.24
Assignee

Updated

14 years ago
Priority: P2 → P1
Target Milestone: Bugzilla 2.24 → Bugzilla 2.22

Comment 14

14 years ago
> PLEASE fix this as soon as possible!  I just installed Bugzilla 
> on my lowly P200 and it takes (literally) 14 seconds for every 
> request due to the time it takes to initialize all the Perl modules!

I would suggest upgrading your machine.
Assignee

Updated

14 years ago
Depends on: 300410
Assignee

Updated

14 years ago
Depends on: 304599

Updated

14 years ago
Blocks: 316665
Assignee

Updated

14 years ago
Target Milestone: Bugzilla 2.22 → Bugzilla 2.24
Assignee

Updated

13 years ago
Blocks: bz-roadmap
Assignee

Updated

13 years ago
Depends on: 342114

Updated

13 years ago
QA Contact: mattyt-bugzilla → default-qa
Assignee

Updated

13 years ago
Depends on: 342736
Assignee

Updated

13 years ago
Depends on: 342744
Assignee

Updated

13 years ago
Depends on: 342121
Depends on: 342757
Assignee

Updated

13 years ago
Depends on: 343166
Assignee

Updated

13 years ago
Depends on: 343336
Assignee

Updated

13 years ago
Depends on: 343337
Assignee

Updated

13 years ago
Depends on: 343338
Assignee

Updated

13 years ago
No longer depends on: 304599
Assignee

Updated

13 years ago
Status: NEW → ASSIGNED

Updated

13 years ago
Depends on: 344527

Updated

13 years ago
Depends on: 344913
Assignee

Updated

13 years ago
Depends on: 345376
Assignee

Updated

13 years ago
Depends on: 345405
Assignee

Updated

13 years ago
Depends on: 345547
Assignee

Updated

13 years ago
Depends on: 348923
Assignee

Updated

13 years ago
Depends on: 351177
Assignee

Updated

13 years ago
Depends on: 353358
No longer depends on: 361980
Assignee

Comment 15

13 years ago
Okay, all of the major bugs that we know of in Bugzilla's mod_perl support are FIXED!

There are a few small bugs remaining that have been noted as blockers here, but they aren't really blockers to us saying that we support mod_perl, as far as I'm concerned. mod_perl support should be functional and stable enough to use in a small production environment or a serious test environment. In just a week or so it will be on bugzilla.mozilla.org, where we'll work out any remaining kinks and brand it stable.

Wow, what an effort, thank you to everybody who's contributed to this over the years. This has been the largest and longest project in Bugzilla's history, and it's amazing to be able to mark this bug fixed.
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED

Comment 16

13 years ago
Thank you very much for your work, guys! 
You need to log in before you can comment on or make changes to this bug.