Bugzilla #455, MaxScale crashed due missing buffer type information in multi-buffer responses.
This commit is contained in:
@ -738,9 +738,9 @@ static void* newSession(
|
||||
client_rses->rses_master_ref = master_ref;
|
||||
/* assert with master_host */
|
||||
ss_dassert(master_ref && (master_ref->bref_backend->backend_server && SERVER_MASTER));
|
||||
client_rses->rses_capabilities = RCAP_TYPE_STMT_INPUT;
|
||||
client_rses->rses_backend_ref = backend_ref;
|
||||
client_rses->rses_nbackends = router_nservers; /*< # of backend servers */
|
||||
client_rses->rses_capabilities = RCAP_TYPE_STMT_INPUT;
|
||||
router->stats.n_sessions += 1;
|
||||
|
||||
/**
|
||||
@ -1052,6 +1052,9 @@ static int routeQuery(
|
||||
{
|
||||
rses_is_closed = true;
|
||||
}
|
||||
|
||||
ss_dassert(!GWBUF_IS_TYPE_UNDEFINED(querybuf));
|
||||
|
||||
packet = GWBUF_DATA(querybuf);
|
||||
packet_type = packet[4];
|
||||
|
||||
@ -1564,10 +1567,6 @@ static void clientReply (
|
||||
*/
|
||||
writebuf = sescmd_cursor_process_replies(writebuf, bref);
|
||||
}
|
||||
else
|
||||
{
|
||||
ss_dassert(false);
|
||||
}
|
||||
/**
|
||||
* If response will be sent to client, decrease waiter count.
|
||||
* This applies to session commands only. Counter decrement
|
||||
@ -1818,11 +1817,11 @@ static bool select_connect_backend_servers(
|
||||
{
|
||||
LOGIF(LD, (skygw_log_write(
|
||||
LOGFILE_DEBUG,
|
||||
"%lu [select_connect_backend_servers] Didn't find master ",
|
||||
"for session %p rses %p.",
|
||||
"%lu [select_connect_backend_servers] Session %p doesn't "
|
||||
"currently have a master chosen. Proceeding to master "
|
||||
"selection.",
|
||||
pthread_self(),
|
||||
session,
|
||||
backend_ref)));
|
||||
session)));
|
||||
|
||||
master_found = false;
|
||||
master_connected = false;
|
||||
@ -2004,7 +2003,8 @@ static bool select_connect_backend_servers(
|
||||
}
|
||||
}
|
||||
/* take the master_host for master */
|
||||
else if (master_host && (b->backend_server == master_host->backend_server))
|
||||
else if (master_host &&
|
||||
(b->backend_server == master_host->backend_server))
|
||||
{
|
||||
*p_master_ref = &backend_ref[i];
|
||||
|
||||
|
Reference in New Issue
Block a user