Why there are 2 separate pools: VCS Pool and DB Pool ?
I have few questions regarding VCS and DB Pool.
- Why there are different pools called VCS Pool and DB Pool?
- What is the purpose of each pool?
- Does VCS pool consume the connection of the database?
In general the notion of pool exists to collect pre-allocated resources which are expensive to re-create.
In Nuxeo we use a “db” pool for JDBC connections, which are expensive to recreate because they trigger network access and take time to execute in the SQL server.
And we use a “vcs” pool for low-level Nuxeo sessions, which are expensive to recreate because they hold a cache of already-fetched objects which is itself expensive to re-create.
And yes each time you use a Nuxeo session you have to take a session from the “vcs” pool, and also take a connection from the “db” pool.