[news.software.b] c-news expire problem and questions

KSpagnol@massey.ac.nz (Ken Spagnolo) (10/26/90)

(Sorry if this has been discussed recently.)

We're dealing with Ultrix 4.0 here, with the Sep. 7 patch
of c-news and nntp-1.5.10 (though that shouldn't matter).
When my disk fills to the point where nntp stops accepting
new batches, expire also stops expiring.  This has happened
twice.  The first time, it started up again on its own a
few days later and I don't remember any details, but the
second time it went for a whole week not expiring anything.
Throughout the week, I received expire's verbose output
thru the mail as so:

expire problems:
22820 kept, 0 expired
0 residual lines
0 links archived, 0 junked, 0 missing

except that the residual line count went from about 11000
to 0.  First question:  What are residual lines?
This made me believe that expire didn't have any disk
space problems.  I archive news to a different partition
and have modified spacefor so that it has no problems
letting expire get on with it (enough room for the new
history files and expired articles, etc.).  I also tried
the -g option to report funny dates and rebuilt the
history file from scratch.  But nothing worked until I
removed by hand several Mb of articles (no one reads news
from this machine yet, so I can play around a bit).  After
another history rebuild, expire started working again.  So
it seems the partion was too full even though spacefor was
happy?  (Unfortunately, /usr/spool/news is not a separate
partition on my system, in case you're wondering.)  I
removed 25 Mb before trying again, so I don't really know
what the magic number would be, if it really is a space
problem.  What other factors are invloved with expiring
articles that I don't know about?  When expiring, is
spacefor called to report on available space in any other
areas than control and archive?  I wouldn't think expire
would go all the way thru and look at each article (or at
least count them) if space was the problem.  My usual expire
command reads as follows:  doexpire -v -a /expiredir

I appreciate any tips and will post the winning solution
for others.

-- 
Ken Spagnolo - Systems Programmer, Postmaster, Usenet Administrator, etc.
   Computer Centre, Massey University, Palmerston North, New Zealand
K.Spagnolo@massey.ac.nz  Phone: +64-63-69099 x8587  New Zealand = GMT+12

henry@zoo.toronto.edu (Henry Spencer) (10/27/90)

In article <1104@massey.ac.nz> K.Spagnolo@massey.ac.nz (Ken Spagnolo) writes:
>When my disk fills to the point where nntp stops accepting
>new batches, expire also stops expiring...

The first question to ask is "how is NEWSMASTER defined, and is mail to
that address getting read?".  Doexpire has a couple of fallback modes,
each of which is accompanied by mail to NEWSMASTER reporting on the
situation.  If space is too short for archiving, expire gets invoked
with -h; if space is too short for a history-file rebuild, expire gets
invoked with -r.  `expire -h -r' might explain what you're seing.

>... First question:  What are residual lines?

The terminology is a little obscure, and needs fixing.  Residual lines
are history lines retained after the corresponding articles have expired.

>it seems the partion was too full even though spacefor was
>happy? ...

I think you need to take a good hard look at those local changes to
spacefor; sounds like they are not doing what you think they are.

>... When expiring, is
>spacefor called to report on available space in any other
>areas than control and archive?

No.

> I wouldn't think expire
>would go all the way thru and look at each article (or at
>least count them) if space was the problem...

Expire counts lines in the history file regardless of whether it can do
anything about them.  If you archive everything and expire is invoked
with -h and -r, there really isn't anything it can do.
-- 
The type syntax for C is essentially   | Henry Spencer at U of Toronto Zoology
unparsable.             --Rob Pike     |  henry@zoo.toronto.edu   utzoo!henry

K.Spagnolo@massey.ac.nz (Ken Spagnolo) (10/29/90)

(If anyone saw my previous response before I cancelled it,
 please ignore.  It was bogus.  I shouldn't rely on my
 memory so much :-)

In article <1990Oct26.173652.805@zoo.toronto.edu> you write:
>I think you need to take a good hard look at those local changes to
>spacefor; sounds like they are not doing what you think they are.

Thanx for your response.  I did just that and came out with
a bit of egg on my face.  I neglected to change the partition
spacefor df's for archive from $NEWSARTS, which certainly
wouldn't have enough space on it to archive if it was filled
up to start with.  I archive to a different partition.

There is a problem, though, with doexpire.  Really, its a problem
with sh.  The reason I didn't realize early on that I'd goofed,
was because the mail I got informing me the -h option was being used
on expire was empty.  This could be due to a bug I've heard about
in some Bourne shells that won't let you pipe the result of ( ... )
anywhere.  I changed doexpire to
mail $NEWSMASTER <<ENDOFMAIL
...
ENDOFMAIL
and it now works.  This problem exists with sh5 as well.  You
can do it interactively, but not from another shell.

Oh well, more Ultrix work arounds.  
-- 
Ken Spagnolo - Systems Programmer, Postmaster, Usenet Administrator, etc.
   Computer Centre, Massey University, Palmerston North, New Zealand
K.Spagnolo@massey.ac.nz  Phone: +64-63-69099 x8587  New Zealand = GMT+12

henry@zoo.toronto.edu (Henry Spencer) (10/30/90)

In article <1990Oct29.045714.8306@massey.ac.nz> K.Spagnolo@massey.ac.nz (Ken Spagnolo) writes:
>... the mail I got informing me the -h option was being used
>on expire was empty.  This could be due to a bug I've heard about
>in some Bourne shells that won't let you pipe the result of ( ... )
>anywhere...

Curious; I'd never heard of that one before, and it would break an awful
lot of shell scripts.  It's not a generic Ultrix problem, since the code
from expire works fine on Ultrix on our 2100.
-- 
"I don't *want* to be normal!"         | Henry Spencer at U of Toronto Zoology
"Not to worry."                        |  henry@zoo.toronto.edu   utzoo!henry

K.Spagnolo@massey.ac.nz (Ken Spagnolo) (10/31/90)

In article <1990Oct29.174750.19269@zoo.toronto.edu> henry@zoo.toronto.edu (Henry Spencer) writes:
>In article <1990Oct29.045714.8306@massey.ac.nz> K.Spagnolo@massey.ac.nz (Ken Spagnolo) writes:
>>.  This could be due to a bug I've heard about
>>in some Bourne shells that won't let you pipe the result of ( ... )
>>anywhere...
>
>Curious; I'd never heard of that one before, and it would break an awful
>lot of shell scripts.  It's not a generic Ultrix problem, since the code
>from expire works fine on Ultrix on our 2100.

Its even stranger.  The problem only occurs when what is being
piped to mail is over a certain length, as is the case with the
-h and -r warnings.  This is rather fortunate, since you use
this method throughout c-news.  All of the one liners, etc., work
just fine.  I experimented by arbitrarily removing some of the
lines in question and, under a certain point, the body of the
message started appearing the delivered mail.  I didn't try to
find out if it was the total length of text or the number of
lines echoed that decided success.  Guess I'll talk to DEC.
-- 
Ken Spagnolo - Systems Programmer, Postmaster, Usenet Administrator, etc.
   Computer Centre, Massey University, Palmerston North, New Zealand
K.Spagnolo@massey.ac.nz  Phone: +64-63-69099 x8587  New Zealand = GMT+12