Skip to Content.
Sympa Menu

devel - Re: [sympa-dev] msg queue sorting in sympa.pl (5.3.4)

Subject: Developers of Sympa

List archive

Chronological Thread  
  • From: David Verdin <address@concealed>
  • To: address@concealed
  • Subject: Re: [sympa-dev] msg queue sorting in sympa.pl (5.3.4)
  • Date: Tue, 16 Mar 2010 12:07:04 +0100

Hi Kendall, and sorry for this late answer,

Le 03/03/2010 20:53, Kendall Libby a écrit :
I realize that this is a rather old version, but I just wanted to make
sure I was reading the code correctly.

we had an issue last night were a list 'tfoo' got hit with several
thousand messages. lists that started with 'a-s' had their list
traffic processed normally, but it appears that lists starting 'u-z'
were forced to wait until sympa processed all of the 'tfoo' list
traffic.

in sympa.pl, line 844:

if (!opendir(DIR, $spool)) {
fatal_err("Can't open dir %s: %m", $spool); ## No return.
}
@qfile = sort tools::by_date grep (!/^\./,readdir(DIR));
closedir(DIR);


it looks like we're reading the msg spool, sorting by the datestamp
on the file and putting it into an array. but then at line 880:

## Scans files in queue
## Search file with highest priority
foreach my $t_filename (sort @qfile) {

we're taking that same array and sorting it... alphabetically.

should that second sort be 'sort tools::by_date @qfile' ?
Yes... It looks like the code is faulty here. Unfortunately, we won't update the 5.3 Sympa code because we don't release it anymore. FYI, Sympa 6 has a million times better prority handling. The priority is handled in real time, allowing Sympa to stop delivering a message when a message with a higher priority arrives. It then resumes sending messages to the first list when all the messages for the second one are sent. Obviously, messages are not resent: Sympa just starts to send messages where it was at the time of the interruption.


Regards,

David

K.



--
David Verdin
Comité réseau des universités




Archive powered by MHonArc 2.6.19+.

Top of Page