-
Bug
-
Resolution: Done-Errata
-
Major
-
None
-
0
-
False
-
-
False
-
CLOSED
-
foreman-installer-3.9.3.3-1
-
29,600
-
Platform
-
-
-
Important
-
None
Description of problem:
Getting the following error on default 2 workers 16 threads Puma configurations when sending more than 16 query requests at the same time.
----------------------------------------------
ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 6.756 seconds); all pooled connections were in use
----------------------------------------------
The error is gone after settings the connection pools to 32 (number of worker * number of threads)
/usr/share/foreman/config/database.yml
- Database is managed by foreman::database::postgresql
production:
adapter: postgresql
database: foreman
username: foreman
password: *********
pool: 32 <==============
Steps to Reproduce:
1. On any remote host or Satellite itself, run the command to send many concurrent requests to the web server using irb console
irb
require 'rest_client'
50.times { Thread.new
}
2. On Satellite, tail the /var/log/foreman/production.log
Actual results:
ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds (waited 6.756 seconds); all pooled connections were in use
Requests getting 500 internal server error
Expected results:
No error
Additional info:
I thought each worker process has a separate connection pool but somehow it seems like it is not. Not sure.
- clones
-
SAT-16381 Getting http 500 internal server error due to "ActiveRecord::ConnectionTimeoutError: could not obtain a connection from the pool within 5.000 seconds"
- Closed
- external trackers
- links to
-
RHSA-2024:137379 Satellite 6.15.3 Security Update