Merge branch '2.2' into 2.3
This commit is contained in:
@ -625,8 +625,8 @@ Rpl::Rpl(SERVICE* service,
|
||||
, m_md_exclude(m_exclude ? pcre2_match_data_create_from_pattern(m_exclude, NULL) : nullptr)
|
||||
{
|
||||
/** For detection of CREATE/ALTER TABLE statements */
|
||||
static const char* create_table_regex = "(?i)create[a-z0-9[:space:]_]+table";
|
||||
static const char* alter_table_regex = "(?i)alter[[:space:]]+table";
|
||||
static const char* create_table_regex = "(?i)^[[:space:]]*create[a-z0-9[:space:]_]+table";
|
||||
static const char* alter_table_regex = "(?i)^[[:space:]]*alter[[:space:]]+table";
|
||||
int pcreerr;
|
||||
size_t erroff;
|
||||
m_create_table_re = pcre2_compile((PCRE2_SPTR) create_table_regex,
|
||||
|
@ -121,10 +121,9 @@ void RWSplitSession::close()
|
||||
}
|
||||
backend->response_stat().reset();
|
||||
|
||||
m_router->server_stats(backend->server()).end_session(
|
||||
backend->session_timer().split(),
|
||||
backend->select_timer().total(),
|
||||
backend->num_selects());
|
||||
m_router->server_stats(backend->server()).end_session(backend->session_timer().split(),
|
||||
backend->select_timer().total(),
|
||||
backend->num_selects());
|
||||
}
|
||||
}
|
||||
|
||||
@ -878,14 +877,20 @@ void RWSplitSession::handleError(GWBUF* errmsgbuf,
|
||||
send_readonly_error(m_client);
|
||||
}
|
||||
|
||||
if (!can_continue && !backend->is_master()
|
||||
&& !backend->server()->master_err_is_logged)
|
||||
if (!can_continue)
|
||||
{
|
||||
MXS_ERROR("Server %s (%s) lost the master status while waiting"
|
||||
" for a result. Client sessions will be closed.",
|
||||
backend->name(),
|
||||
backend->uri());
|
||||
backend->server()->master_err_is_logged = true;
|
||||
if (!backend->is_master() && !backend->server()->master_err_is_logged)
|
||||
{
|
||||
MXS_ERROR("Server %s (%s) lost the master status while waiting"
|
||||
" for a result. Client sessions will be closed.",
|
||||
backend->name(),
|
||||
backend->uri());
|
||||
backend->server()->master_err_is_logged = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
MXS_ERROR("Lost connection to the master server, closing session.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -1038,6 +1043,12 @@ bool RWSplitSession::handle_error_new_connection(DCB* backend_dcb, GWBUF* errmsg
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!succp)
|
||||
{
|
||||
MXS_ERROR("Unable to continue session as all connections have failed, "
|
||||
"last server to fail was '%s'.", backend->name());
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
Reference in New Issue
Block a user