Hi, SQLite version 3.7.7.1 2011-06-28 17:39:05 Problem -
I have a sqlite database for monitored data on an embedded linux ARM processor. There are many writing processes and two reading processes (one to handle SNMP queries, one to handle Web UI monitoring queries) The database is stored in a tmpfs filesystem and we were having various performance issues which looked like locking problems on the database. Also some of the writes were taking a long time. The architecture is such that the writers have deadlines and the readers do not (and run at relatively low priority). I changed the access to the database so that it used WAL mode (so that low priority reads cannot block writes) and I also changed access so that SYNCHRONOUS is OFF (the database is volatile so there is no point making sure that writes have completed synch). All processes have a busy call back which calls nanosleep for 50ms before returning a continue indication. Recent testing of the system has started failing with an indication that we are getting a locking error from sqlite. I read through the source code and can't figure out what I can do to make the underlying cause more visible. In the last instance, three processes had a locking error returned within a few hundred milliseconds. I have instrumented the WAL checkpoint code and also our busy handler and we are not often calling the busy handler and the WAL checkpoint is not taking very long (approx 30ms). Any suggestions gratefully received Rob -- Rob Searle Lead Engineer Infrastructure Development Tait Electronics Ltd ======================================================================= This email, including any attachments, is only for the intended addressee. It is subject to copyright, is confidential and may be the subject of legal or other privilege, none of which is waived or lost by reason of this transmission. If the receiver is not the intended addressee, please accept our apologies, notify us by return, delete all copies and perform no other act on the email. Unfortunately, we cannot warrant that the email has not been altered or corrupted during transmission. ======================================================================= _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users