I have an application where multiple engines perform heavy write OLTP transactions on a repository. The engine supports many data stores and I recently added SQLite support.
WAL is great, for small single node stuff SQLite is very fast and simple. I had turned of synchronous (=0), as for the use case, having to start over due to a corrupted database is not a big deal, but I have turned it back to normal mode which lessens the problem but doesn’t go away. Due to the heavy writes I have a lot of contention (my busy handler works well) and I have to force checkpoints to keep the log under control. Recently I removed a bunch of latency from my application. Suddenly I’m getting odd errors where a record that was just inserted can’t be read by the same process. In fact, even waiting till completion of the run, the record never exists. I confirmed the insert is getting called with the correct parameters, I logged everything coming back on the error log callback, and I verified that the DB is always in auto commit. What can I do to debug better? Can checkpoint RESTART/TRUNCATE cause data loss? Brian Macy _______________________________________________ sqlite-users mailing list [email protected] http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users

