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

(URL)

(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

14 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
(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
Last Resolved: 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.