[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