Hi,
In our rails application we need to establish connection to database based on the client id in the URL. Currently we are using establish_connection but it looks like it creates new connection pool each time and executes some queries to get schema information about DB. Is there a way to cache connection pool ? I am also curious why did Active Record decided not to cache the connection pools based on configuration ? I am not sure if its a great idea to subclass ConnectionHandler and roll my own connection pool caching something like this any opinions ?
Thanks
Are you seeing this in development or production? I would expect this behavior in development, but never in production. In my experience, connection pools are established and maintained for the run-time of the application. Naturally, if you are deployed in an auto-scaling environment, each instance of your app will get its own pool(s), but that's to be expected.
Walter
Thanks for your reply. I am seeing this in production. I thought connection pool will be maintained for the run time of application too but looking at the establish_connection source code it looks like it clears the existing pools and creates a new connection pool. I thought it would be checking if there is already a connection pool existing for the spec and if not then create the connection pool.
This makes me wonder if its a good idea to cache connection pool in an ivar in my application when Active Record decided not to do it.