On Thu, Jan 22, 2009 at 10:05, Paweł Sasin <hanni...@wp-sa.pl> wrote:
>> >>> 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.

You definitely mean the journal, right?  not the bayes dbs?
interesting to hear this, I haven't encountered it before...

--j.

Reply via email to