Package: leafnode
Version: 1.10.8.rel-2
Severity: wishlist

Leafnode works poorly when given a mix of small text groups and huge
binary groups.  Imagine a group list like this:
        comp.latest-language
        alt.binaries.huge
where the first gets 10 postings/day, but the second gets 10,000 postings/day.

The problem is that leafnode runs in an all-or-nothing style.  Until it has
completed an entire run, everything in the sequence has halted.  This means
that if "alt.binaries.huge" requires 48 hours (or a week) to download
completely, then the entire local news server is wedged during that time.
Thus local users are unable to post, no new articles in the small
"comp.latest-language" ever appear, etc.

A much better architecture would allow leafnode to checkpoint itself and
re-enter its whole loop after a sufficient amount of effort, say 1000
articles (per group? per server?) or something.  After doing that much work,
it ought to pause and cleanup.  Generate the XOVER databases.  See if any
new articles have been posted (and if so send them to the upstream servers).
Download a few new articles from the small groups.  Etc.

Right now there is no good way to handle such a mix of large and small groups.
If a user requests one of the large groups, that immediately becomes an
effective denial-of-service for days, as fetchnews will cease performing any
user-visible work until an entire run has been completed.

-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-2-686-smp
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1)

Versions of packages leafnode depends on:
ii  debconf                     1.4.30.11    Debian configuration management sy
ii  libc6                       2.3.2.ds1-20 GNU C Library: Shared libraries an
ii  libpcre3                    4.5-1.1      Perl 5 Compatible Regular Expressi
ii  logrotate                   3.7-2        Log rotation utility
ii  netbase                     4.21         Basic TCP/IP networking system
ii  tcpd                        7.6.dbs-8    Wietse Venema's TCP wrapper utilit

-- debconf information excluded


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to