Details
-
Sub-task
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
Description
Currently the router code does the following.
- IPC handler thread gets a connection from the pool, even if the connection is NOT usable.
- At the same time the IPC thread also submits a request to connection creator thread for adding a new connection to the pool asynchronously.
- The new connection is NOT utilized by the IPC threads that get back an unusable connection.
With this approach burst behaviors of clients, fill up the pool without necessarily using the connections. Also the approach is indeterministic.
We propose a flag that can allow router admins to control the behavior of getting connections by the IPC handler threads. The flag would allow to toggle ON/OFF asynchronous vs synchronous way of connection creation.
In the new model, if a connection is unusable, IPC handler thread would go ahead and create a connection and add to the pool and utilize it subsequently. It would still utilize the unusable connection if the pool is full.