[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [leafnode-list] Problem with texpire



krasel@xxxxxxxxxxxxxxxxxxxxxxxxxxxx (Cornelius Krasel) writes:

> Stefan Wiens <s.wi@xxxxxxx> wrote:
>
>> What do you think about the following policy:
>> 
>>   All subdirectories under /var/spool/news whose name is a valid
>>   newsgroup name are considered for expiry. The only character that
                   ^
                   part

>>   will never show up in a group name is ".". (lost+found is also
>>   excluded.)
>
> That is how subdirs in the /var/spool/news directory are currently
> handled implicitely (if somebody ever wondered why the directories
> are called "failed.postings", "interesting.groups", "leaf.node",
> "message.id" and "out.going"). It is even true for files (i.e.
> "active.read").

Yes. But when it comes to possible data loss, that behaviour should be
explicitly documented.

>> Descending the entire spooldir would normally require stat()ing each
>> filename, but that would be unacceptable.
>
> texpire currently stats every file anyway (to find out its mtime), therefore
> it may not be as bad as you think.

stat() is an expensive operation, especially for texpire
(at least here).

When expiring a group, texpire avoids unnecessary stat() calls.

Should the option to expire using the Date: header contents be
implemented, all required information would be in .overview, making
stat() unnecessary.

In expiremsgid(), stat() is of course necessary to get the link count.

The second stat() during expiremsgid() is likely to require physical
disk I/O even if all inodes had been stat()ed during group
expiry. (Depending on spool size, physical memory, and other running
processes.)

Stefan


-- 
leafnode-list@xxxxxxxxxxxxxxxxxxxxxxxxxxxx -- mailing list for leafnode
To unsubscribe, send mail with "unsubscribe" in the subject to the list