Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
25.10.0, 26.10.0
-
None
-
Can result in unexpected behaviour
-
Under certain conditions with idle_session_pool_time set, MaxScale used 100% of the CPU for a brief moment.
Description
A client that waits for a free server connection is served late. The wait starts when another session closes and releases the connection. During the wait, one MaxScale thread uses 100 % CPU.
Conditions (all required):
- idle_session_pool_time is set on the service
- The server has reached max_routing_connections and a client is waiting
- The connection is freed by a closing session
- MaxScale has no other traffic on that thread
Impact: Low. Under load the delay is a few milliseconds.
Affected versions: 25.10.0 and later
Reproduce: threads=1, max_routing_connections=1, idle_session_pool_time=30s. Client A holds a transaction open. Client B sends a query and waits. Disconnect A abruptly.
Workaround: None needed.