On 19/09/14 17:40, Bokassa wrote:
> Hi all,
>       I see my query hanging with this stack:
> 
> dybagme->where
> #0  0x000000332b00ee00 in __fsync_nocancel () from /lib64/libpthread.so.0
> #1  0x000000000041b418 in full_fsync (fd=6, fullSync=0, dataOnly=0) at
> sqlite3.c:27735
...
> The program itself is in state D waiting for IO. I am writing on a local
> disk. I don't use threads.
> What can be wrong?

SQLite isn't wrong.  It uses the fsync api provided by Unix to ensure
file/directory contents are written to the storage media (ie would still be
there after a power failure).

You'll need to look in your OS logs and monitoring tools to find out what is
going on.  Note that some filesystems are implemented such that asking to
fsync a file instead does a sync of the whole filesystem (it is done because
of metadata and journalling issues).  For example if you were separately
extracting lots of files they could get caught up in the fsync.

The spec for fsync is that it doesn't return until the file/directory is on
storage.

Roger

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

Reply via email to