> >>> 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.