Fix for MXS-335
Response handling as aborted if there is not enough data.
This commit is contained in:
@ -551,6 +551,18 @@ static int gw_read_backend_event(DCB *dcb) {
|
|||||||
rc = 0;
|
rc = 0;
|
||||||
goto return_rc;
|
goto return_rc;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!read_buffer) {
|
||||||
|
LOGIF(LM, (skygw_log_write_flush(
|
||||||
|
LOGFILE_MESSAGE,
|
||||||
|
"%lu [gw_read_backend_event] "
|
||||||
|
"Read buffer unexpectedly null, even though response "
|
||||||
|
"not marked as complete. User: %s",
|
||||||
|
pthread_self(),
|
||||||
|
current_session->user)));
|
||||||
|
rc = 0;
|
||||||
|
goto return_rc;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Check that session is operable, and that client DCB is
|
* Check that session is operable, and that client DCB is
|
||||||
@ -1562,9 +1574,10 @@ static GWBUF* process_response_data (
|
|||||||
* enough data to read the packet length.
|
* enough data to read the packet length.
|
||||||
*/
|
*/
|
||||||
init_response_status(readbuf, srvcmd, &npackets_left, &nbytes_left);
|
init_response_status(readbuf, srvcmd, &npackets_left, &nbytes_left);
|
||||||
initial_packets = npackets_left;
|
|
||||||
initial_bytes = nbytes_left;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
initial_packets = npackets_left;
|
||||||
|
initial_bytes = nbytes_left;
|
||||||
}
|
}
|
||||||
/** Only session commands with responses should be processed */
|
/** Only session commands with responses should be processed */
|
||||||
ss_dassert(npackets_left > 0);
|
ss_dassert(npackets_left > 0);
|
||||||
|
Reference in New Issue
Block a user