[Kde-pim] Review Request 121120: try to release idle connections to DB, relieve database
Daniel Vrátil
dvratil at redhat.com
Tue Nov 25 09:31:10 GMT 2014
> On Nov. 18, 2014, 10:29 a.m., Daniel Vrátil wrote:
> > server/src/storage/datastore.cpp, line 159
> > <https://git.reviewboard.kde.org/r/121120/diff/1/?file=328453#file328453line159>
> >
> > This is taken care of in rollbackTransaction() above.
>
> Panos Christeas wrote:
> Even if some internal error zeroes m_transactionLevel with items still in the list? I had added that as a safeguard.
Makes sense. I'm not sure why I raised this issue, I was probably being too pedantic :)
- Daniel
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121120/#review70574
-----------------------------------------------------------
On Nov. 16, 2014, 8:42 a.m., Panos Christeas wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121120/
> -----------------------------------------------------------
>
> (Updated Nov. 16, 2014, 8:42 a.m.)
>
>
> Review request for Akonadi and Daniel Vrátil.
>
>
> Repository: akonadi
>
>
> Description
> -------
>
> For Postgres, each DB client connection corresponds to a process
> being spawn and kept alive. May even mean some SHM allocated for
> it, on pre-9.3 versions of postgres.
> On a system (desktop) with many akonadi resources, we may end up
> occupying most/all available Postgres backends just keeping idle
> agents.
> This patch tries to address that, by releasing the DB connection
> for those idle agents. This comes to the expense of some wake-up
> latency (connect, setup db and prepare queries again). It is not
> limited to QPSQL DBs yet, as to explore its effects on the other
> storage engines.
>
> Note that I had to change the `DataStore::database()` API from a
> const to a regular method, because it would wake-up a connection.
>
>
> Diffs
> -----
>
> server/src/connection.h 3f1141eec1561196e2a12b03de6c13f8051349db
> server/src/connection.cpp 32f10d5d2d76baa737f494fe5c283ea047344983
> server/src/storage/datastore.h 395b227c5c085566d755f3636ac4ac20bde97723
> server/src/storage/datastore.cpp ae78baba3e3db4937061e52d91bf401393d4c189
> server/src/storage/dbconfigpostgresql.cpp ebad22cd7dca935b318241b7428fb0b7ccdee881
> server/src/storage/querybuilder.cpp c07905906bdc712d41007ada753c2d821afd0a2d
>
> Diff: https://git.reviewboard.kde.org/r/121120/diff/
>
>
> Testing
> -------
>
> Ran for 2 days, several resources.
>
>
> Thanks,
>
> Panos Christeas
>
>
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list