SysOps and Deployment support (UXPROD-1083)

[UXPROD-3209] Implement one connection pool per RMB module for all tenants Created: 11/Aug/21  Updated: 11/Aug/21

Status: Open
Project: UX Product
Components: None
Affects versions: None
Fix versions: None
Parent: SysOps and Deployment support

Type: Story Priority: TBD
Reporter: Julian Ladisch Assignee: Unassigned
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Issue links:
Defines
is defined by RMB-664 PoC: implement one connection pool fo... Closed
Relates
relates to FOLIO-1794 SPIKE: db connection provision and po... Open
Epic Link: SysOps and Deployment support
Development Team: Core: Platform
PO Rank: 0
Rank: GBV (MVP Sum 2020): R2

 Description   

Current situation or problem:
Multi-tenant installations like GBV with 18 tenants (more to come) notice a very high number of database connections.

An RMB based storage module maintains a connection pool per tenant. The total number of connections is:

Number of tenants * number of RMB based storage modules * RMB pool size (DB_MAXPOOLSIZE defaults to 4).

Each PostgreSQL database connection allocates some memory (~ 10 MB) at the database that may result in out-of-memory and reduces the memory the database might use for faster query processing.

In scope

Out of scope

Use case(s)

Multi-tenant installations

Proposed solution/stories

An RMB based module should have one connection pool for all tenants. Use SET ROLE or SET SESSION AUTHORIZATION to switch the connection from the ROLE of one tenant to the ROLE of another tenant to ensure schema separation.

For details see RMB-664 Closed and FOLIO-1794 Open

Links to additional info

Questions


Generated at Fri Feb 09 00:30:12 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.