Merge branch '2.3' into develop
This commit is contained in:
commit
0b67ce1e82
@ -638,11 +638,19 @@ void QueryClassifier::log_transaction_status(GWBUF* querybuf, uint32_t qtype)
|
||||
uint8_t* packet = GWBUF_DATA(querybuf);
|
||||
unsigned char command = packet[4];
|
||||
int len = 0;
|
||||
char* sql;
|
||||
std::string sqldata;
|
||||
char* sql = (char*)"<non-SQL>";
|
||||
char* qtypestr = qc_typemask_to_string(qtype);
|
||||
if (!modutil_extract_SQL(querybuf, &sql, &len))
|
||||
|
||||
if (qc_mysql_is_ps_command(command))
|
||||
{
|
||||
sql = (char*)"<non-SQL>";
|
||||
sqldata = "ID: " + std::to_string(mysql_extract_ps_id(querybuf));
|
||||
sql = (char*)sqldata.c_str();
|
||||
len = sqldata.length();
|
||||
}
|
||||
else
|
||||
{
|
||||
modutil_extract_SQL(querybuf, &sql, &len);
|
||||
}
|
||||
|
||||
if (len > QC_TRACE_MSG_LEN)
|
||||
|
@ -1178,6 +1178,12 @@ bool RWSplitSession::handle_got_target(GWBUF* querybuf, RWBackend* target, bool
|
||||
*/
|
||||
bool success = target->write(send_buf, response);
|
||||
|
||||
if (orig_id)
|
||||
{
|
||||
// Put the original ID back in case we try to route the query again
|
||||
replace_binary_ps_id(querybuf, orig_id);
|
||||
}
|
||||
|
||||
if (success)
|
||||
{
|
||||
if (store)
|
||||
@ -1219,12 +1225,6 @@ bool RWSplitSession::handle_got_target(GWBUF* querybuf, RWBackend* target, bool
|
||||
}
|
||||
else
|
||||
{
|
||||
if (orig_id)
|
||||
{
|
||||
// Put the original ID back in case we try to route the query again
|
||||
replace_binary_ps_id(querybuf, orig_id);
|
||||
}
|
||||
|
||||
MXS_ERROR("Routing query failed.");
|
||||
}
|
||||
|
||||
|
@ -994,7 +994,7 @@ void RWSplitSession::handleError(GWBUF* errmsgbuf,
|
||||
|
||||
if (m_current_master && m_current_master->in_use() && m_current_master == backend)
|
||||
{
|
||||
MXS_INFO("Master '%s' failed", backend->name());
|
||||
MXS_INFO("Master '%s' failed: %s", backend->name(), extract_error(errmsgbuf).c_str());
|
||||
/** The connection to the master has failed */
|
||||
|
||||
if (!backend->is_waiting_result())
|
||||
@ -1066,7 +1066,7 @@ void RWSplitSession::handleError(GWBUF* errmsgbuf,
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_INFO("Slave '%s' failed", backend->name());
|
||||
MXS_INFO("Slave '%s' failed: %s", backend->name(), extract_error(errmsgbuf).c_str());
|
||||
if (m_target_node && m_target_node == backend
|
||||
&& session_trx_is_read_only(problem_dcb->session))
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user