[MXS-4496] Limit resultset read size Created: 2023-01-31  Updated: 2023-02-02  Resolved: 2023-02-02

Status: Closed
Project: MariaDB MaxScale
Component/s: Core
Affects Version/s: 22.08.4
Fix Version/s: 23.02.0

Type: Task Priority: Minor
Reporter: Esa Korhonen Assignee: Esa Korhonen
Resolution: Fixed Votes: 0
Labels: None

Issue Links:
Relates
relates to MXS-4451 Memory issue in Maxscale Closed
Sprint: MXS-SPRINT-176

 Description   

In prior versions, MaxScale would read resultset data from server-side socket without limit. In practice, the read would end when the socket was empty, which would then allow more data to be sent by the server. This is usually not an issue as the data is then written to the client socket. However, if client connection is a bottleneck, quite a bit of data could end up stored in the client-side write buffer.

The resultset read code could instead check the size of the client-side write queue, and limit the amount of data read such that the write queue cannot significantly overshoot the writeq_high_water-setting.

Other optimizations to related IO may also be added.


Generated at Thu Feb 08 04:29:03 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.