[rt-users] mod_fastcgi and mod_fcgid segfault's on certain tickets

2007-03-23 Thread Tomas Olaj


Hi,

We're running 3.6.1 in production (the same applies to 3.6.3 in test), and Pg 
version 8.1.8, and FastCGI (mod_fcgi-2.4.2), and Perl 5.8.7.


Sometimes we experience tickets that only shows ticket metadata, and not the 
whole ticket including history. Everything looks 'ok' in the database:


rttest=# SELECT a.id,a.type,b.name,a.created from transactions a left
join users b on a.creator = b.id where a.objectid = '71963' order by
a.created;
id | type | name | created
-++---+-
284098 | Create | user | 2005-09-27 09:05:15
1391471 | Create | user | 2007-01-10 13:33:44
1391473 | EmailRecord | RT_System | 2007-01-10 13:33:45
1391472 | EmailRecord | RT_System | 2007-01-10 13:33:45
1391487 | Take | user | 2007-01-10 13:36:27
1391489 | Set | user | 2007-01-10 13:36:42
1391603 | EmailRecord | RT_System | 2007-01-10 13:49:25
1391602 | Status | RT_System | 2007-01-10 13:49:25
1391601 | Correspond | user | 2007-01-10 13:49:25
1392035 | Correspond | user | 2007-01-10 15:00:02
1392036 | EmailRecord | RT_System | 2007-01-10 15:00:03
1396227 | Comment | user | 2007-01-11 13:18:34
1396228 | CommentEmailRecord | RT_System | 2007-01-11 13:18:35
1396300 | Correspond | user | 2007-01-11 13:29:39
1396301 | EmailRecord | RT_System | 2007-01-11 13:29:40
1396329 | EmailRecord | RT_System | 2007-01-11 13:37:11
1396328 | Give | user | 2007-01-11 13:37:11
1399462 | Correspond | user | 2007-01-12 09:07:58
1399463 | EmailRecord | RT_System | 2007-01-12 09:07:59
(19 rows)

This is a serious problem.

A short excerpt from thestrace of the mason handler process (only 
one running for the test) when a certain problem ticket try to load in 
a web-browser. When the mason handler process segfault's, a new one is 
created.


--

time(NULL)  = 1174556708
time(NULL)  = 1174556708
stat64(/site/rt-3.6.3/local/lib/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT 
(No such file or directory)
open(/site/rt-3.6.3/local/lib/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 
ENOENT (No such file or directory)
stat64(/site/rt-3.6.3/lib/Text/Quoted.pmc, 0xbfffa550) = -1 ENOENT (No 
such file or directory)
open(/site/rt-3.6.3/lib/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = -1 
ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Quoted.pmc, 
0xbfffa550) = -1

ENOENT (No such file or directory)
open(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Quoted.pm, 
O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/5.8.7/Text/Quoted.pmc, 0xbfffa550) = -1 
ENOENT (No

such file or directory)
open(/site/perl-5.8.7/lib/5.8.7/Text/Quoted.pm, O_RDONLY|O_LARGEFILE) = 
-1 ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Quoted.pmc, 
0xbfffa550) = -1 ENOENT (No such file or directory)
open(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Quoted.pm, 
O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Quoted.pmc, 0xbfffa550) 
= -1 ENOENT (No such file or directory)
open(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Quoted.pm, 
O_RDONLY|O_LARGEFILE) = 9
ioctl(9, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfffa358) = -1 ENOTTY 
(Inappropriate ioctl for device)

_llseek(9, 0, [0], SEEK_CUR)= 0
read(9, package Text::Quoted;\nour $VERSI..., 4096) = 4096
stat64(/site/rt-3.6.3/local/lib/Text/Autoformat.pmc, 0xbfffa0a0) = -1 
ENOENT (No such file or directory)
open(/site/rt-3.6.3/local/lib/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) 
= -1 ENOENT (No such file or directory)
stat64(/site/rt-3.6.3/lib/Text/Autoformat.pmc, 0xbfffa0a0) = -1 ENOENT 
(No such file or directory)
open(/site/rt-3.6.3/lib/Text/Autoformat.pm, O_RDONLY|O_LARGEFILE) = -1 
ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Autoformat.pmc, 
0xbfffa0a0) = -1 ENOENT (No such file or directory)
open(/site/perl-5.8.7/lib/5.8.7/i686-linux/Text/Autoformat.pm, 
O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/5.8.7/Text/Autoformat.pmc, 0xbfffa0a0) = -1 
ENOENT

(No such file or directory)
open(/site/perl-5.8.7/lib/5.8.7/Text/Autoformat.pm, 
O_RDONLY|O_LARGEFILE) = -1

ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Autoformat.pmc, 
0xbfffa0a0) = -1 ENOENT (No such file or directory)
open(/site/perl-5.8.7/lib/site_perl/5.8.7/i686-linux/Text/Autoformat.pm, 
O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
stat64(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Autoformat.pmc, 
0xbfffa0a0) =

-1 ENOENT (No such file or directory)
open(/site/perl-5.8.7/lib/site_perl/5.8.7/Text/Autoformat.pm, 
O_RDONLY|O_LARGEFILE) = 11
ioctl(11, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfff9ea8) = -1 ENOTTY 
(Inappropriate i

octl for device)
_llseek(11, 0, [0], SEEK_CUR)   = 0
read(11, package Text::Autoformat;\n\nuse s..., 4096) = 4096

mail loop problems: was: Re: [rt-users] RT/Apache suddenly hangs

2007-02-07 Thread Tomas Olaj


Hi,

We have checked the problem more closesly, and the reason why our 
RT/Apache server stops is due to different variants of mail loops.


We still have problems with other loop variants consuming all resources. 
Extended mailgate errors leading to loops, spam going into loop. How can 
we make mailgate a bit more smarter?


Does anyone have a mail loop detector in front of their RT installations.

We have a high severity now with our RT in production. The load is 
increasing all the time.



Our commonly used cron-script removing some mail loops:

#!/site/perl-5.8.7/bin/perl
#
# Author:  Petter Reinholdtsen
# Date:2006-01-13
# License: GNU Public License v2 or later
#
# Look at all tickets, and remove all queue addresses from requestor,
# cc and admincc.  This reduces the amount of bounce emails sent to
# the RT admins.


use warnings;
use strict;
use Getopt::Std;

# Location of RT's libs and scripts
# Remember to change to correct path on current RT instance
use lib (/site/rt3/local/lib, /site/rt3/lib);

package RT;

use RT::Interface::CLI qw(CleanEnv);
use RT::Queue;
use RT::Queues;
use RT::Tickets;

my %opts;
Getopt::Std::getopts(dn, \%opts);

my $debug = $opts{'d'} || 0;
my $dryrun = $opts{'n'} || 0;

$| = 1;

# Find all queue addresses of enabled queues
my @queueaddrs =
(
 # Aliases for e-mail lists are listed here:
 '[EMAIL PROTECTED]',
 );

my $ticketcount = 0;
my $starttime = time();

CleanEnv();   # Clean our the environment
RT::LoadConfig(); # Load the RT configuration
RT::Init();   # Initialise RT

my $user = RT::User-new( $RT::SystemUser );

# Merge static list with dynamic list
@queueaddrs = (load_queue_addresses(), @queueaddrs);

# Loop over all addresses, remove them from the tickets were they are
# registered as watchers

for my $address( sort @queueaddrs ) {
print Removing address '$address' from all tickets\n if $debug;
my $tickets = new RT::Tickets($RT::SystemUser);
$tickets-FromSQL( Watcher.EmailAddress = '$address' );
while( my $ticket = $tickets-Next ) {
$ticketcount++;
my $id = $ticket-Id;
if ($dryrun) {
print Want to remove $address as watcher from ticket #$id\n;
} else {
$RT::Logger-info(Removed queue address $address as watcher 
.

  from ticket #$id);
$ticket-DeleteWatcher(Email = $address, Type = $_ )
for( qw(Cc AdminCc Requestor) );
}
}
}

my $duration = time() - $starttime;
$RT::Logger-info(Processing of $ticketcount tickets took $duration 
seconds);


sub load_queue_addresses {
my $queues = new RT::Queues($RT::SystemUser);
$queues-LimitToEnabled();
my @queueaddrs;
foreach my $queue (@{$queues-ItemsArrayRef()}) {
for my $address ($queue-CorrespondAddress, 
$queue-CommentAddress) {

next unless $user-LoadByEmail( $address );
push @queueaddrs, $address;
print Found queue address '$address'\n if $debug;
}
}
return @queueaddrs;
}

--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


[rt-users] How to RT-admins handle mail loops (bounces)?

2007-02-07 Thread Tomas Olaj


SSIA, ;)

--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group

-- Forwarded message --
Date: Wed, 7 Feb 2007 11:38:33 +0100 (CET)
From: Tomas Olaj [EMAIL PROTECTED]
Reply-To: Tomas Olaj [EMAIL PROTECTED]
To: rt-users@lists.bestpractical.com
Subject: mail loop problems: was: Re: [rt-users] RT/Apache suddenly hangs


Hi,

We have checked the problem more closesly, and the reason why our RT/Apache 
server stops is due to different variants of mail loops.


We still have problems with other loop variants consuming all resources. 
Extended mailgate errors leading to loops, spam going into loop. How can we 
make mailgate a bit more smarter?


Does anyone have a mail loop detector in front of their RT installations.

We have a high severity now with our RT in production. The load is increasing 
all the time.



Our commonly used cron-script removing some mail loops:

#!/site/perl-5.8.7/bin/perl
#
# Author:  Petter Reinholdtsen
# Date:2006-01-13
# License: GNU Public License v2 or later
#
# Look at all tickets, and remove all queue addresses from requestor,
# cc and admincc.  This reduces the amount of bounce emails sent to
# the RT admins.


use warnings;
use strict;
use Getopt::Std;

# Location of RT's libs and scripts
# Remember to change to correct path on current RT instance
use lib (/site/rt3/local/lib, /site/rt3/lib);

package RT;

use RT::Interface::CLI qw(CleanEnv);
use RT::Queue;
use RT::Queues;
use RT::Tickets;

my %opts;
Getopt::Std::getopts(dn, \%opts);

my $debug = $opts{'d'} || 0;
my $dryrun = $opts{'n'} || 0;

$| = 1;

# Find all queue addresses of enabled queues
my @queueaddrs =
(
 # Aliases for e-mail lists are listed here:
 '[EMAIL PROTECTED]',
 );

my $ticketcount = 0;
my $starttime = time();

CleanEnv();   # Clean our the environment
RT::LoadConfig(); # Load the RT configuration
RT::Init();   # Initialise RT

my $user = RT::User-new( $RT::SystemUser );

# Merge static list with dynamic list
@queueaddrs = (load_queue_addresses(), @queueaddrs);

# Loop over all addresses, remove them from the tickets were they are
# registered as watchers

for my $address( sort @queueaddrs ) {
print Removing address '$address' from all tickets\n if $debug;
my $tickets = new RT::Tickets($RT::SystemUser);
$tickets-FromSQL( Watcher.EmailAddress = '$address' );
while( my $ticket = $tickets-Next ) {
$ticketcount++;
my $id = $ticket-Id;
if ($dryrun) {
print Want to remove $address as watcher from ticket #$id\n;
} else {
$RT::Logger-info(Removed queue address $address as watcher .
  from ticket #$id);
$ticket-DeleteWatcher(Email = $address, Type = $_ )
for( qw(Cc AdminCc Requestor) );
}
}
}

my $duration = time() - $starttime;
$RT::Logger-info(Processing of $ticketcount tickets took $duration seconds);

sub load_queue_addresses {
my $queues = new RT::Queues($RT::SystemUser);
$queues-LimitToEnabled();
my @queueaddrs;
foreach my $queue (@{$queues-ItemsArrayRef()}) {
for my $address ($queue-CorrespondAddress, $queue-CommentAddress) {
next unless $user-LoadByEmail( $address );
push @queueaddrs, $address;
print Found queue address '$address'\n if $debug;
}
}
return @queueaddrs;
}

--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


Re: [rt-users] RT/Apache suddenly hangs

2007-02-05 Thread Tomas Olaj

On the marvelous Fri, 2 Feb 2007, Torsten Brumm wrote kindly to me ...


The only thing i found sometimes are messages: Mysql server has gone away,
but this is causing not in all cases the problems. Nightly, without RT
usage, the connections from FastCGI are timing out and don't connect
automatically, but not during the business hours ;-(


We are very satisfied with our Postgres installation. :)

Our Postgres admins has created an administration framework used to 
administrate postgreSQL installations at The University of Oslo.

This framework is a set of scripts, websides, C code, SQL definitions
and standards that define storage,backups,maintenance and administration
procedures. We can run this framework in a standalone server or in a 
SG-cluster from HP. Our RT production instance runs on a service guard 
two-node postgres cluster. Still faaar away from the sizes of all of our 
Oracle installations. ;)


Thanks, Torsten, good to hear that I am not lonely about this problem.

Cheers,
Tomas

--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


[rt-users] RT/Apache suddenly hangs

2007-02-02 Thread Tomas Olaj


System:
===
Red Hat Enterprise Linux WS release 3 (Taroon Update 8)
RT 3.6.1
Apache v2.0.59
Perl 5.8.7
mod_fcgi-2.4.2
Postgres 8.1.4

Approximately 80.000 tickets.

Problem:

RT/Apache suddenly becomes unavailable/hangs (normaly once a day), and 
requires Apache restart so RT can work again.


We are not sure what causes the problem, and if others have similar 
problems, we would be gladly to hear about it!


List of processes running and load on server:
=
# ps aux | grep apache
root 22066  0.0  0.0  7964 3360 ?SFeb01   0:08 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   13898  0.0  0.0  7964 3320 ?S03:59   0:00 
/local/opt/apache2/bin/fcgi- -k start -DSSL
nobody   21699  0.0  0.0  8216 3832 ?S14:02   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22628  0.0  0.0  8216 3840 ?S14:14   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22648  0.0  0.0  8216 3840 ?S14:15   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22650  0.0  0.0  8216 3820 ?S14:15   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22939  0.0  0.0  8252 3756 ?S14:18   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22941  0.0  0.0  8216 3848 ?S14:18   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22945  0.0  0.0  8216 3804 ?S14:18   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22953  0.0  0.0  8216 3756 ?S14:18   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22955  0.0  0.0  8216 3796 ?S14:18   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22959  0.0  0.0  8216 3812 ?S14:19   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22961  0.0  0.0  8216 3800 ?S14:19   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22962  0.0  0.0  8216 3788 ?S14:19   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22965  0.0  0.0  8236 3804 ?S14:19   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22966  0.0  0.0  8216 3788 ?S14:19   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   22967  0.0  0.0  8216 3812 ?S14:19   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23217  0.0  0.0  8228 3792 ?S14:21   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23218  0.0  0.0  8228 3744 ?S14:21   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23219  0.0  0.0  8244 3740 ?S14:21   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23224  0.0  0.0  8232 3768 ?S14:21   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23225  0.0  0.0  8216 3752 ?S14:21   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23230  0.0  0.0  8228 3776 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23240  0.0  0.0  8220 3780 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23241  0.0  0.0  8220 3740 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23242  0.0  0.0  8248 3728 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23250  0.0  0.0  8216 3732 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23254  0.0  0.0  8216 3744 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23255  0.0  0.0  8216 3732 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23286  0.0  0.0  8216 3772 ?S14:22   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23290  0.0  0.0  8216 3760 ?S14:23   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23292  0.0  0.0  8248 3724 ?S14:23   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23294  0.0  0.0  8216 3764 ?S14:23   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23299  0.0  0.0  8108 3696 ?S14:23   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23326  0.0  0.0  8108 3672 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23327  0.0  0.0  8108 3708 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23328  0.0  0.0  8216 3696 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23336  0.1  0.0  8248 3744 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23337  0.0  0.0  8108 3692 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23338  0.0  0.0  8108 3680 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23339  0.0  0.0  8108 3692 ?S14:25   0:00 
/local/opt/apache2/bin/httpd -k start -DSSL
nobody   23352  0.0  0.0  

Re: [rt-users] RT 3.6 error and IE6

2006-12-07 Thread Tomas Olaj

On the marvelous Wed, 6 Dec 2006, Jesse Vincent wrote kindly to me ...


We are entering production phase next week on 3.6.1, but we noticed a
problem among Internet Explorer version 6 users (yes, there are some of
these at our university), ;), where they are getting an Error on page
error-message in browser trying to _open_ a ticket in RT 3.6.1.


Do you have any more details of the error message?


I don't, I've asked Sverre to give an answer on this, since I actually 
can't find anything on the terminal server I've tested it on. I am not a 
IE 6 user. ;)


Cheers,
Tomas


This error message is not reproducable in other browsers (even IE version
7).

The typical error message is described on:
http://support.microsoft.com/kb/306831

but it doesn't solve the problem, since it's only a work-a-round.

Is it something incompatible in the HTML-code?

Best regars,
Tomas


--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


[rt-users] RT 3.6 error and IE6

2006-12-06 Thread Tomas Olaj


Hello,

We are entering production phase next week on 3.6.1, but we noticed a 
problem among Internet Explorer version 6 users (yes, there are some of 
these at our university), ;), where they are getting an Error on page 
error-message in browser trying to _open_ a ticket in RT 3.6.1.


This error message is not reproducable in other browsers (even IE version 
7).


The typical error message is described on:
http://support.microsoft.com/kb/306831

but it doesn't solve the problem, since it's only a work-a-round.

Is it something incompatible in the HTML-code?

Best regars,
Tomas


--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


[rt-users] Empty ticket content - RT 3.4.2

2006-09-28 Thread Tomas Olaj


Hi,

Sometimes we encounter tickets with empty content, e.g. no history 
displayed by RT/Apache. But, looking into the database it seems like 
everything is stored of replies, updates, etc...


Any tip or hint what we should look into to find out why RT won't display 
those tickets? I cannot see anything useful in the rt.log file.


We still run rt 3.4.2 in production.

regards,
Tomas

--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group
___
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users

Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]


Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
Buy a copy at http://rtbook.bestpractical.com


[rt-users] RT - Test performance (I) (fwd)

2006-04-10 Thread Tomas Olaj


This test performance was done by our Postgres DBA Rafael Martinez. I am 
translating this so You can agree or disagree if this makes sense or not.


Adding indexes can for sure improve performance.

--

Tomas A. P. Olaj, email: [EMAIL PROTECTED], web: folk.uio.no/tomaso
 University of Oslo / USIT (Center for Information Technology Services)
   System- and Application Management / Applications Management Group

-- Forwarded message --
Date: Wed, 29 Mar 2006 11:30:14 +0200
From: Rafael Martinez Guerrero
To: [EMAIL PROTECTED]
Subject: RT - Test performance (I)

Hello

I'm finished with the performance test of RT with and without the new 
indexes.


The test has been done on a test server with 2 x Intel(R) Xeon(TM) CPU 
2.40GHz and 4GB RAM. We installed a copy of the production environment on 
this server with RT.3.4.2 and postgresql.7.4.12.


The backup file rtprod-12-all-2006-03-27_140101.sql (includes the new 
indexes) was installed and a 'VACUUM VERBOSE ANALYZE' was run before we 
started to test.


Both postgresql and apache has been stopped and restarted before every 
test type. We assumend that things that was cached by the OS did not 
affect the result.


We have tested both from command line and web, with and without the new 
indexes.


We have run some of the most common tasks done in RT on every test. We 
generated a SQL file with all the sql-statement tasks sent to the 
database, so we could to the test from the command line without web 
processing of data (this file contained 1920 sql-statements).


The test on the command line was run with:

 -bash-2.05b$ time psql rtprod  /postgres/log_test_rt.sql  /dev/null

The test via web was done using RT via web, the time that was used was the 
time that is showned down on the RT pages when they were finished 
processing.


The test contucted like this:

- Postgres/apache stopped/started
- Commandline test with indexes run 3 times after each other.
- Postgres/apache stopped/started
- Web test with indexes run 3 times after each other.

- DROP new indexes
- 'VACUUM VERBOSE ANALYZE' run

- Postgres/apache stopped/started
- Commandline test without indexes run 3 times after each other.
- Postgres/apache stopped/started
- Web test without indexes run 3 times after each other.
- Postgres/apache stopped/started

Total sum of times:

- without indexes via commandline: 28.166s
- with indexes via commandline: 11.473s
- without indexes via web: 31.5618s
- with indexes via web: 20.2351s

Total result:


Some numbers from the RT database

Num.tickets: 34 096
Num.transactions: 610 556
Num.users: 15 880
Num.queues: 53
Num.groups: 152 548




Tasks:

1- Load main page
2- Login
3- Open queue (www-drift)
4- Open ticket from queue side (#34054)
5- Open 'Home'
6- Open 'Tickets'
7- Load saved search (rafa_resolved)
8- Run Search
9- Open 'Home'
10- Logout
*


*
New indexes:
*
  CREATE INDEX acl2 on acl (principalid,principaltype);
  CREATE INDEX acl3 on acl (objecttype);
  CREATE INDEX groups4 on groups (domain);
  CREATE INDEX attributes3 on attributes (objectid,objecttype);
  CREATE INDEX groupmembers1 on groupmembers (groupid,memberid);
  CREATE INDEX groups3 on groups(LOWER(Domain), LOWER(Type));
  CREATE INDEX users5 on users (LOWER(Name));
  CREATE INDEX groups5 on groups (instance,LOWER(Domain),LOWER(Type));
  CREATE INDEX groupmembers2 on groupmembers (memberid);
  CREATE INDEX tickets6 on tickets (status);
  CREATE INDEX objectcustomfieldvalues3 on
   objectcustomfieldvalues(disabled,objectid,objecttype);
*



Tests:

-
* Without new indexes / via psql:
-
real0m28.191s
real0m28.133s
real0m28.175s

Average: 84.499 / 3 = 28.166s

--
* With new indexes / via psql:
--
real0m11.576s
real0m11.419s
real0m11.426s

Average: 34.421 / 3 = 11.473s


* Without new indexes / via web:


1- 0.174703
2- 3.505841
3- 0.944324
4- 4.735964
5- 2.444698
6- 5.307809
7- 5.160225
8- 7.987324
9- 2.648068
10- 0.025291

Total: 32.9338s


1- 0.026303
2- 2.99801
3- 0.824755
4- 4.546013
5- 2.47372
6- 4.927333
7- 4.756017
8- 7.743986
9- 2.647696
10- 0.045746

Total: 30.9892s


1- 0.025872
2- 3.037854
3- 0.710582
4- 4.559498
5- 2.415181
6- 4.685646
7- 4.944309
8- 7.686661
9- 2.660198
10- 0.037399

Total: 30.7625

Average: 94.6855 / 3 = 31.5618s


--
* With new