[odb-users] Timeout and Concurrency issues

Erez Pics picserez at gmail.com
Thu Nov 27 09:23:15 EST 2014


Hi Boris,

Thank you very much, we will test and rebuild as you suggest.

I remember your comment regarding poor concurrent model on SQLite engine,
should we consider using more then one connection for better multi
threaded performance ? [or consider connection pool or another object
practice use?]

I will be happy to hear any other suggestions, advises and best
practices on ODB SQLite, thread
safe and concurrency ?

Thank you very VERY much for you kind help,
Erez.

On Thu, Nov 27, 2014 at 3:36 PM, Boris Kolpackov
<boris at codesynthesis.com> wrote:
> Hi Erez,
>
> Erez Pics <picserez at gmail.com> writes:
>
>> On windows things seem to work fine but on Mac we get many timeout
>> exceptions [...]
>
> My guess would be the SQLite library you are using on MacOS is built
> without multi-threading support (which is the case for the default
> SQLite library that comes with the system). Quoting the INSTALL file
> from libodb-sqlite:
>
> "If you plan to access an SQLite database from multiple threads, then
>  you will need SQLite version 3.5.0 or later built with the unlock
>  notify feature (SQLITE_ENABLE_UNLOCK_NOTIFY) enabled."
>
> So you need to build a private copy of SQLite with
> SQLITE_ENABLE_UNLOCK_NOTIFY:
>
> ./configure CFLAGS="-O3 -DSQLITE_ENABLE_UNLOCK_NOTIFY=1"
>
> Then use it to re-build libodb-sqlite and your application.
>
> Boris



More information about the odb-users mailing list