I guess this can stand as one more argument for not using SQLite over NFS. Another argument could be found here: http://www.sqlite.org/lockingv3.html#how_to_corrupt.
Pavel On Wed, Oct 24, 2012 at 2:01 PM, Efim Dyadkin <efim.dyad...@pdgm.com> wrote: > I was probably not quite specific. So I would like to rephrase the problem > and give more details. > > I run a default configuration of Sqlite on Linux and I don't use WAL or > anything that changes transaction behavior. A database is located on a remote > file server and accessed via NFS. There is a single process only that > accesses the database. The problem is when auto-mounter is stopped (on a > machine where the process is running) in the middle of database transaction, > commit returns successfully though it leaves a hot journal on disk because it > is not seen for unlink (ENOENT)!!! > > Note, when auto-mounter is down, you still can operate on a database file and > its journal if they were opened before the stop. > > The problem can be reproduced very easily with an Sqlite command shell: > 1) Run the shell > 2) Begin exclusive transaction > 3) Insert a few records > 4) Stop auto-mounter > 5) Optionally insert a few more records (stopped auto-mounter does not affect > these inserts because database and journal are opened) > 6) Commit (no errors!!!) > 7) Quit the shell > > If you then restart auto-mounter and check the database directory you will > find a hot journal! If you reopen the database the transaction will be played > back and recently commited changes will be gone! > > Thanks for your feedbacks, > Efim > > > > -------------------------------------------------------------------------------- > This e-mail, including any attached files, may contain confidential and > privileged information for the sole use of the intended recipient. Any > review, use, distribution, or disclosure by others is strictly prohibited. If > you are not the intended recipient (or authorized to receive information for > the intended recipient), please contact the sender by reply e-mail and delete > all copies of this message. > _______________________________________________ > sqlite-users mailing list > sqlite-users@sqlite.org > http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users