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

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))
{