[FOLIO-3453] Customizable DB_MAXPOOLSIZE parameter in folio-snapshot Created: 21/Mar/22  Updated: 06/Apr/22  Resolved: 06/Apr/22

Status: Closed
Project: FOLIO
Components: None
Affects versions: None
Fix versions: None

Type: Task Priority: P2
Reporter: Jakub Skoczen Assignee: John Malconian
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original estimate: Not Specified

Sprint: DevOps Sprint 136, DevOps Sprint 137
Development Team: FOLIO DevOps
RCA Group: TBD

 Description   

Needs investigation



 Comments   
Comment by John Malconian [ 31/Mar/22 ]

mod-source-record-manager module OOM-killed. Two problems. 1. Not enough system RAM (32 GB) available to really run FOLIO. Changed folio-snapshot instance type from m5.2xlarge to r5.2xlarge which gives us a max of 64GB of system RAM. 2. mod-source-record-storage requires a bump to the default memory placed on the container as defined in the modules's launch descriptor. Both of these issues have been resolved. There is also a somewhat related request to increase DB_MAXPOOLSIZE from '5' to '20'. I believe this may have to be a global change.

Comment by John Malconian [ 05/Apr/22 ]

The DB_* environment variable values are ignored when set either in the modules launch descriptor or as a 'docker_env' group var. I believe they are ignored because they are ultimately re(set) globally by folio-ansible on the /_/env endpoint in two different roles: okapi-deployment and okapi-tenant-deploy.

https://github.com/folio-org/folio-ansible/blob/master/roles/okapi-deployment/tasks/main.yml#L2
https://github.com/folio-org/folio-ansible/blob/master/roles/okapi-tenant-deploy/tasks/main.yml#L2

Aside from the problem that these variables are set twice in two different roles, this probably could be resolved by removing DB_MAXPOOLSIZE from /_/env and letting this parameter and value to be determined by either the module's default launch descriptor OR by specifying as a 'docker_env' attribute in the 'folio_modules' list. What do you think Wayne Schneider?

Comment by Wayne Schneider [ 05/Apr/22 ]

The only issue is if the DB_MAXPOOLSIZE variable is actually set in each launch descriptor, or if it is missing in some – what would be the default value? Otherwise I agree that it would be nice not to set it globally if different modules have different requirements.

Comment by John Malconian [ 05/Apr/22 ]

PR to remove global DB_MAXPOOLSIZE setting in folio-ansible. https://github.com/folio-org/folio-ansible/pull/517

Comment by John Malconian [ 05/Apr/22 ]

Wayne Schneider My take is that all module parameters and default values should be included in the module's launch descriptor. If they are not, then that's issue with the module that would need to be fixed. Also, we could always set DB_MAXPOOLSIZE in group vars explicitly as a docker_env override in a pinch.

Generated at Thu Feb 08 23:28:15 UTC 2024 using Jira 1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d.