[MDEV-23879] server hangs with threadpool,protocol compression and client pipelining Created: 2020-10-02 Updated: 2020-10-06 Resolved: 2020-10-02 |
|
| Status: | Closed |
| Project: | MariaDB Server |
| Component/s: | OTHER |
| Affects Version/s: | 10.1, 10.2, 10.3, 10.4, 10.5 |
| Fix Version/s: | 10.2.35, 10.3.26, 10.4.16, 10.5.7 |
| Type: | Bug | Priority: | Major |
| Reporter: | Vladislav Vaintroub | Assignee: | Vladislav Vaintroub |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Description |
|
to reproduce
The C/C client uses pipelining for prepared statements, happens packs 2 protocol packets COM_STMT_RESET+COM_STMT_EXECUTE into single compressed packet. After executing the COM_STMT_RESET threadpool believes there is no more data from client (it does not check if any unread data is present in THD::NET), so it decides to wait for more client input, while client is waiting for the results of COM_STMT_EXECUTE. |