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

Panos Christeas xrg at linux.gr
Sun Nov 16 07:42:27 GMT 2014


-----------------------------------------------------------
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