> >>> Yes, more specifically, it's mostly going to be updating the
> >>> "atime", or time of last access, records for tokens. This time is
> >>> used by the expiry process to drop the least recently used tokens.
> >>>
> >>
> >> What does SA do, if it can't r/w open bayes database? Will it skip
> >> BAYES checks or just tie it r/o ?
> >>
> >> (I notice ocasional missing BAYES in X-Spam headers)
> >>
> > Well, first let's be clear.. it's R/W opening the journal, not the
> > database itself.
> >
> > The main _toks and _seen files are only locked R/W if there's one
> > of the following going on:
> >     learning without bayes_learn_to_journal set
> >     a journal sync
> >     token expiry is running
> >
> > As for write locks to the journal, if for some reason there's a
> > conflict, the update is just dropped with a warning. This isn't
> > incredibly likely unless your bayes is really busy, as journal
> > updates are pretty short in nature.
> 
> on POSIX filesystems, this should be virtually impossible, since the
> file is opened for append with atomic writes.

It is quite common on Solaris with 40+ working spamds and really high
traffic volume. Some time ago we had such situation. The server had 50%
idle while the spamds were striving to lock the journal (auto_learn and
auto_expire disabled) rather than going on to handle a next message. Ie
the machine was 50% idle but was unable to handle more messages and the
bottleneck was in journal updates.

-- 
Paweł Sasin

"WIRTUALNA POLSKA" Spolka Akcyjna z siedziba w Gdansku przy ul.
Traugutta 115 C, wpisana do Krajowego Rejestru Sadowego - Rejestru
Przedsiebiorcow prowadzonego przez Sad Rejonowy Gdansk - Polnoc w
Gdansku pod numerem KRS 0000068548, o kapitale zakladowym
67.980.024,00  zlotych oplaconym w calosci oraz Numerze Identyfikacji
Podatkowej 957-07-51-216.

Reply via email to