[Kde-pim] Review Request 121120: try to release idle connections to DB, relieve database

Panos Christeas xrg at linux.gr
Fri Nov 21 18:45:50 GMT 2014



> On Νοέμ. 18, 2014, 9:29 πμ., 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.

Even if some internal error zeroes m_transactionLevel with items still in the list? I had added that as a safeguard.


- Panos


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/121120/#review70574
-----------------------------------------------------------


On Νοέμ. 16, 2014, 7:42 πμ., Panos Christeas wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/121120/
> -----------------------------------------------------------
> 
> (Updated Νοέμ. 16, 2014, 7:42 πμ.)
> 
> 
> 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