On Thu, Oct 21, 2010 at 6:55 PM, Bob Smith <bobs9...@gmail.com> wrote:

> I have been using WAL mode for a few months and have been quite happy with
> the write performance increases.
>
> I might possibly have found an issue/concern with the way sqlite handles
> doing new writes to the WAL file  during a time that checkpoints are unable
> to checkpoint data from the WAL file back into the database due to a reader
> being in the process of reading data from the WAL file. The result is the
> WAL file growing unbounded.
>

I followed the procedure you outlined with the exception that I did 20K
inserts rather than 1K inserts (so that fewer transactions were required).
I ran this for 100,000 transactions.  the resulting database file reached
1.536GB but the WAL never went above 1.542MB.

This is on SuSE 10.1, Linux 2.6.16.13-4.smp on i686 athlon.

It is also hard to imagine how the WAL could skip over a block of frames in
the middle and still continue to work.  If the writer really were skipping
over parts of the WAL file, the next checkpoint would go haywire when it
reached the part of the WAL that is skipped, and the later transactions
would never make it into the database.

Are you *sure* you aren't accidentally holding  a read transaction open
somewhere?

Do you have any other clues on how we can isolate the problem?  A test case
that will we can run here, perhaps?

-- 
D. Richard Hipp
d...@sqlite.org
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to