[sqlite] [Question]SQLite cannot remove journal file as soon as UPDATE transaction finishes?

2016-07-10 Thread

Dear SQLite developers,

Sqlite version: 3.8.8.3
Linux version: 3.10.31-ltsi

Question:
We found when updated a sqlite database in emmc disk, it cannot remove 
journal file as soon as the transaction finished.

We know after the transaction finishes, SQLite will unlink the journal file.
But when we update a database and shut down in about 2~3s, the journal 
file still exists after system startups.
It seems unlink() file would not remove it immediately, until kernel 
call sync() to flush disk.
So, does this correspond to SQLite's design? Or could you give me some 
suggestion how to remove the journal file quickly.



Cordially yours

LiuXiang
___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users


[sqlite] [BugReport]Data changes cannot actually flush to disk

2016-06-07 Thread

Dear SQLite developers,

Sqlite version: 3.8.8.3
Linux version: 3.10.31-ltsi

Problem:
When update database and power off immediately, it cannnot actually make 
changes to database file in the disk.

Although the HAVE_FDATASYNC comile-time option is true.
If manually called sync() after executing a SQL statement, it does flush 
the database file to disk.


I think the OSTRACE log can be helpful, so I toke it.
Could you help to analyse it and tell me why fdatasync() doesn't work?

LOCK154 SHARED was NONE(NONE,0) pid=2289 (unix)
LOCK154 SHARED ok (unix)
READ15416  24 0
LOCK154 RESERVED was SHARED(SHARED,1) pid=2289 (unix)
LOCK154 RESERVED ok (unix)
OPENX   168 /var/user/aaa/bbb.db-journal 0400102
OPEN168 /var/user/aaa/bbb.db-journal
WRITE   168   512   0 0
WRITE   168 4 512 0
WRITE   168  1024 516 0
WRITE   168 41540 0
LOCK154 EXCLUSIVE was RESERVED(RESERVED,1) pid=2289 (unix)
LOCK154 EXCLUSIVE ok (unix)
WRITE   168 41544 0
WRITE   168  10241548 0
WRITE   168 42572 0
READ168 03072 0
SYNC168
DIRSYNC /var/user/aaa/bbb.db-journal (have_fullfsync=0 fullsync=0)
OPENDIR 169 /var/user/aaa
WRITE   16812   0 0
SYNC168
READ154 4  24 0
WRITE   154  1024   0 0
WRITE   154  1024   20480 0
SYNC154
CLOSE   -1
UNLOCK  154 1 was 4(4,1) pid=2289 (unix)
UNLOCK  154 0 was 1(1,1) pid=2289 (unix)



Cordially yours

LiuXiang

___
sqlite-users mailing list
sqlite-users@mailinglists.sqlite.org
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users