[MXS-4209] KILL command doesn't work correctly if persistent connections are enabled Created: 2022-07-19 Updated: 2022-10-11 Resolved: 2022-07-26 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | Core |
| Affects Version/s: | 2.5.20, 6.4.1 |
| Fix Version/s: | 2.5.22, 6.4.2 |
| Type: | Bug | Priority: | Major |
| Reporter: | markus makela | Assignee: | markus makela |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | None | ||
| Issue Links: |
|
||||||||
| Description |
|
With persistpoolmax enabled, a KILL query will end up hanging on the connection that sends it. |
| Comments |
| Comment by markus makela [ 2022-07-26 ] |
|
This happened because the old mechanism relied on the EPOLLHUP that the COM_QUIT would end up generating. As this event never arrives when the persistent connection pool is enabled, the KILL execution hanged. The fix to this was to backport the LocalClient notification mechanism from MaxScale 6 into MaxScale 2.5 and use that to signal the client when the response to the KILL command was complete. This also improves the overall performance of the KILL commands from older versions as there's no need to poll for the completion anymore. |