Re: [sqlite] Issue with locked journal file
Ok, I'll expand on that suggestion, try PRAGMA journal_mode=truncate; If you are using TortoiseSVN on the machine than the most likely cause is the TSVNCache process. We had countless issues with it. Best regards, F.N. On Wed, Jun 23, 2010 at 8:18 PM, Pavel Ivanov wrote: > Is it possible in your application to try journal_mode = PERSIST? I > guess virus checkers wouldn't block writing to the file. But this way > you should be sure that journal size wouldn't be so big as for you to > want to truncate it... > > > Pavel > > On Wed, Jun 23, 2010 at 7:02 AM, John Wood wrote: >> Hi all, >> >> I'm having real problems with locked sqlite journal files. >> >> (Win32, V 3.6.23.1). >> >> Very occasionaly, a commit fails with extended error code >> SQLITE_IOERR_DELETE | SQLITE_IOERR. >> >> It seems that the most likely cause is another application locking the file >> at that point (e.g. virus checker). >> >> Although it's surprising that this would happen (as the journal file is in a >> hidden system directory (e.g. C:\users\john\AppData\Local\MyApp)) I guess >> badly behaved apps may well briefly open and lock recently changed files. >> >> (As an aside, this is clearly an issue the sqlite team have tried to >> address, as in winDelete() you can see it retries several times, and there >> is a comment which refers to virus checkers). >> >> So anyway, instead I switched to using TRUNCATE journal mode instead. >> >> But, I'm just getting the same issue. This time the extended error code is >> SQLITE_IOERR_TRUNCATE | SQLITE_IOERR. >> >> So, on some user's machines, very occasionaly SOMETHING is locking the >> journal file. >> >> My question is this: is there a way to make sqlite open the journal file in >> a locked manner, and keep the lock in effect while it's using it? >> >> That way, any naughty app would just not be able to open read handles. >> >> (This is certainly possible in Win32: you can specify what share mode you >> require when opening a file handle). >> >> Any ideas? >> >> John >> ___ >> 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 > ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
Re: [sqlite] Issue with locked journal file
Is it possible in your application to try journal_mode = PERSIST? I guess virus checkers wouldn't block writing to the file. But this way you should be sure that journal size wouldn't be so big as for you to want to truncate it... Pavel On Wed, Jun 23, 2010 at 7:02 AM, John Wood wrote: > Hi all, > > I'm having real problems with locked sqlite journal files. > > (Win32, V 3.6.23.1). > > Very occasionaly, a commit fails with extended error code > SQLITE_IOERR_DELETE | SQLITE_IOERR. > > It seems that the most likely cause is another application locking the file > at that point (e.g. virus checker). > > Although it's surprising that this would happen (as the journal file is in a > hidden system directory (e.g. C:\users\john\AppData\Local\MyApp)) I guess > badly behaved apps may well briefly open and lock recently changed files. > > (As an aside, this is clearly an issue the sqlite team have tried to > address, as in winDelete() you can see it retries several times, and there > is a comment which refers to virus checkers). > > So anyway, instead I switched to using TRUNCATE journal mode instead. > > But, I'm just getting the same issue. This time the extended error code is > SQLITE_IOERR_TRUNCATE | SQLITE_IOERR. > > So, on some user's machines, very occasionaly SOMETHING is locking the > journal file. > > My question is this: is there a way to make sqlite open the journal file in > a locked manner, and keep the lock in effect while it's using it? > > That way, any naughty app would just not be able to open read handles. > > (This is certainly possible in Win32: you can specify what share mode you > require when opening a file handle). > > Any ideas? > > John > ___ > 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
Re: [sqlite] Issue with locked journal file
On Wed, Jun 23, 2010 at 7:02 AM, John Wood wrote: > > My question is this: is there a way to make sqlite open the journal file in > a locked manner, and keep the lock in effect while it's using it? > Have you tried PRAGMA locking_mode=EXCLUSIVE ? See http://www.sqlite.org/pragma.html#pragma_locking_mode -- - D. Richard Hipp d...@sqlite.org ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
[sqlite] Issue with locked journal file
Hi all, I'm having real problems with locked sqlite journal files. (Win32, V 3.6.23.1). Very occasionaly, a commit fails with extended error code SQLITE_IOERR_DELETE | SQLITE_IOERR. It seems that the most likely cause is another application locking the file at that point (e.g. virus checker). Although it's surprising that this would happen (as the journal file is in a hidden system directory (e.g. C:\users\john\AppData\Local\MyApp)) I guess badly behaved apps may well briefly open and lock recently changed files. (As an aside, this is clearly an issue the sqlite team have tried to address, as in winDelete() you can see it retries several times, and there is a comment which refers to virus checkers). So anyway, instead I switched to using TRUNCATE journal mode instead. But, I'm just getting the same issue. This time the extended error code is SQLITE_IOERR_TRUNCATE | SQLITE_IOERR. So, on some user's machines, very occasionaly SOMETHING is locking the journal file. My question is this: is there a way to make sqlite open the journal file in a locked manner, and keep the lock in effect while it's using it? That way, any naughty app would just not be able to open read handles. (This is certainly possible in Win32: you can specify what share mode you require when opening a file handle). Any ideas? John ___ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users