MXS-3617: Fix lost packets during writeq throttling

Backported the fix for MXS-3617 to 2.4.

If a packet was read from the backend while the client DCB was being
throttled due to writeq_high_water being hit, the response would be
discarded as it did not qualify for routing. The check should not check
whether the client DCB is in epoll as it has no effect on writes.
This commit is contained in:
Markus Mäkelä 2021-06-16 13:48:34 +03:00
parent bbbeae4c94
commit 1b432c1bf3
No known key found for this signature in database
GPG Key ID: 5CE746D557ACC499

View File

@ -675,7 +675,7 @@ static inline bool session_ok_to_route(DCB* dcb)
if (dcb->session->state == SESSION_STATE_STARTED
&& dcb->session->client_dcb != NULL
&& dcb->session->client_dcb->state == DCB_STATE_POLLING
&& dcb->session->client_dcb->state != DCB_STATE_DISCONNECTED
&& (dcb->session->router_session
|| service_get_capabilities(dcb->session->service) & RCAP_TYPE_NO_RSESSION))
{