You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2005/11/16 00:59:59 UTC
svn commit: r344484 - in /spamassassin/trunk/masses/rule-qa:
automc/ruleqa.cgi corpus-hourly rule-hits-over-time
Author: jm
Date: Tue Nov 15 15:59:57 2005
New Revision: 344484
URL: http://svn.apache.org/viewcvs?rev=344484&view=rev
Log:
avoid OOM problems with graphing; we shouldn't touch dates out of range
Modified:
spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
spamassassin/trunk/masses/rule-qa/corpus-hourly
spamassassin/trunk/masses/rule-qa/rule-hits-over-time
Modified: spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi?rev=344484&r1=344483&r2=344484&view=diff
==============================================================================
--- spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi (original)
+++ spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi Tue Nov 15 15:59:57 2005
@@ -340,7 +340,10 @@
}
-$tmpl =~ s/!longdatelist!/ gen_switch_url("longdatelist", 1) /ges;
+my $dranchor = "r".$daterev; $dranchor =~ s/[^A-Za-z0-9]/_/gs;
+my $ldlurl = gen_switch_url("longdatelist", 1)."#".$dranchor;
+
+$tmpl =~ s/!longdatelist!/$ldlurl/gs;
$tmpl =~ s/!THISURL!/$cgi_url/gs;
$tmpl =~ s/!daterev!/$daterev/gs;
$tmpl =~ s/!rule!/$rule/gs;
@@ -887,6 +890,8 @@
my $fname = get_datadir_for_daterev($dr)."/info.xml";
my $fastfname = get_datadir_for_daterev($dr)."/fastinfo.xml";
+ my $dranchor = "r".$dr; $dranchor =~ s/[^A-Za-z0-9]/_/gs;
+
my $txt;
if (-f $fname) {
eval {
@@ -907,7 +912,7 @@
$txt = qq{
<td class=daterevtd>
- <a title="$drtitle" href="!drhref!">$fastinfo->{date}</a></td>
+ <a name="$dranchor" title="$drtitle" href="!drhref!">$fastinfo->{date}</a></td>
<td class=daterevtd>
<a title="$drtitle" href="!drhref!">$fastinfo->{rev}</a></td>
<td class=daterevtd>
@@ -1048,7 +1053,7 @@
</tr>
};
- } @list). qq{
+ } reverse @list). qq{
</table></div>
Modified: spamassassin/trunk/masses/rule-qa/corpus-hourly
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/rule-qa/corpus-hourly?rev=344484&r1=344483&r2=344484&view=diff
==============================================================================
--- spamassassin/trunk/masses/rule-qa/corpus-hourly (original)
+++ spamassassin/trunk/masses/rule-qa/corpus-hourly Tue Nov 15 15:59:57 2005
@@ -459,7 +459,7 @@
print qq{created: $bytes bytes, finished at $when
URL:
- http://buildbot.spamassassin.org/ruleqa/ruleqa?daterev=$output_revpath
+ http://buildbot.spamassassin.org/ruleqa?daterev=$output_revpath
};
Modified: spamassassin/trunk/masses/rule-qa/rule-hits-over-time
URL: http://svn.apache.org/viewcvs/spamassassin/trunk/masses/rule-qa/rule-hits-over-time?rev=344484&r1=344483&r2=344484&view=diff
==============================================================================
--- spamassassin/trunk/masses/rule-qa/rule-hits-over-time (original)
+++ spamassassin/trunk/masses/rule-qa/rule-hits-over-time Tue Nov 15 15:59:57 2005
@@ -134,13 +134,13 @@
}
push (@allfiles, $file);
- if (0) {
+ if (1) {
# use an on-disk file to avoid massive VM usage for this hash
# on huge datasets
- unlink("graph.tmp.dir");
- unlink("graph.tmp.pag");
- tie (%{$allresults{$file}}, 'SDBM_File', 'graph.tmp', O_RDWR|O_CREAT, 0600)
- or die "tie failed: $!";
+ unlink("$tmpdir/graph.tmp.dir");
+ unlink("$tmpdir/graph.tmp.pag");
+ tie (%{$allresults{$file}}, 'SDBM_File', "$tmpdir/graph.tmp",
+ O_RDWR|O_CREAT, 0600) or die "tie failed: $!";
}
else {
%{$allresults{$file}} = ();
@@ -288,6 +288,11 @@
sub read_logs {
my $file = shift;
+ # limit to a range from [4 years ago, today] to avoid OOM craziness
+ # from corrupt input
+ my $limit_hi = time;
+ my $limit_lo = $limit_hi - (24*60*60*365*4);
+
$lastbucket = undef;
$nextbucket = undef;
$seen_y = 0;
@@ -305,6 +310,11 @@
my $t;
/\btime=(\d+),/ and $t = $1;
next unless $t;
+
+ if ($t < $limit_lo || $t > $limit_hi) {
+ warn "ignoring out-of-range time $t (limit: $limit_lo < t < $limit_hi)";
+ next;
+ }
my $found = ($_ =~ $rule_re);