[MDEV-156] Threadpool - add thd_wait_begin/thd_wait_end to the network IO functions Created: 2012-02-16  Updated: 2013-02-19  Resolved: 2013-02-19

Status: Closed
Project: MariaDB Server
Component/s: None
Fix Version/s: 10.0.2

Type: Task Priority: Major
Reporter: Vladislav Vaintroub Assignee: Vladislav Vaintroub
Resolution: Fixed Votes: 0
Labels: None


 Description   

Certain types of workloads (large result sets, blobs, slow clients) can have longer waits on network io (socket reads and writes). Whenever server waits, this should be communicated to the threadpool, so it can start new query by either waking a waiting thread or sometimes creating a new one. IF threadpool does not know about blocking state of a thread, the performance will degrade.

In MySQL prior to 5.6 it is not possible to know whether socket read or write would wait. In 5.6, socket handling on Unixes was changed in VIO. Sockets IO is always non-blocking and reads or writes that would block wait with poll() for operation to finish.

The task is to add thd_wait_begin/thd_wait_end around these poll() calls.



 Comments   
Comment by Rasmus Johansson (Inactive) [ 2012-05-02 ]

This was assigned to me, which happens by default if no Assignee is given.

Comment by Vladislav Vaintroub [ 2012-09-18 ]

Davi's patch http://lists.mysql.com/commits/138456 is prerequisite for the task, need to check if it made into 10.0 yet

Comment by Rasmus Johansson (Inactive) [ 2013-01-24 ]

Was it in 10.0?

Comment by Vladislav Vaintroub [ 2013-01-24 ]

Yes, it is in 10.0 now. I have patch for the MDEV-156 , too somewhere, it is just not pushed anywhere yet, hopefully after 10.0.1 then

Generated at Thu Feb 08 06:26:41 UTC 2024 using Jira 8.20.16#820016-sha1:9d11dbea5f4be3d4cc21f03a88dd11d8c8687422.