database corruption

Matthias Andree matthias.andree at gmx.de
Wed Jun 4 22:08:43 CEST 2003


Fred Yankowski <fred at ontosys.com> writes:

> On Thu, May 29, 2003 at 03:02:37PM +0200, Matthias Andree wrote:
>> People who see that bogoutil -d or db_dump loops can try to rescue data
>> (no promises though) from their data bases with:
>> 
>> cp goodlist.db goodlist.db.bak
>> db_dump -r goodlist.db >good.raw
>> db_load good.new.db <good.raw
>> rm -f goodlist.db
>> bogoutil -d good.new.db | bogoutil -l goodlist.db
>> rm -f good.new.db good.raw
>
> Thank you for that procedure.  I ran it over my spamlist.db and now
> db_verify reports no errors on it.
>
> But what is that penultimate step for?  That is, what good is this:
>
> 	bogoutil -d good.new.db | bogoutil -l goodlist.db
>
> I used db_dump to dump good.new.db and goodlist.db to raw data after
> the above.  Comparing that raw data with diff gives results like this:
>
> 	6c6
> 	<  01000000
> 	---
> 	>  0100000041a43101

Little endian (intel or something), no?

This adds the timestamps of the tokens that haven't been in the old
version of your data base, at least for some tokens (likely ones written
by an older bogofilter version).

> It looks like the db_dump / db_load sequence loses data that is
> recovered somehow by doing the "bogoutil -d" / "bogoutil -l" sequence.
> What is going on there?

The new bogoutil added the missing timestamps.

-- 
Matthias Andree




More information about the Bogofilter mailing list