MXS-1506: Remove delayed_retry_interval
Configuring the parameter current doesn't have enough of an effect to warrant having a configuration option for it. Also took mxs::extract_sql into use in the INFO level message.
This commit is contained in:
@ -342,8 +342,6 @@ void RWSplit::diagnostics(DCB *dcb)
|
||||
config().delayed_retry ? "true" : "false");
|
||||
dcb_printf(dcb, "\tdelayed_retry_timeout: %lu\n",
|
||||
config().delayed_retry_timeout);
|
||||
dcb_printf(dcb, "\tdelayed_retry_interval: %lu\n",
|
||||
config().delayed_retry_interval);
|
||||
|
||||
dcb_printf(dcb, "\n");
|
||||
|
||||
@ -421,8 +419,6 @@ json_t* RWSplit::diagnostics_json() const
|
||||
json_boolean(config().delayed_retry));
|
||||
json_object_set_new(rval, "delayed_retry_timeout",
|
||||
json_integer(config().delayed_retry_timeout));
|
||||
json_object_set_new(rval, "delayed_retry_interval",
|
||||
json_integer(config().delayed_retry_interval));
|
||||
|
||||
json_object_set_new(rval, "connections", json_integer(stats().n_sessions));
|
||||
json_object_set_new(rval, "current_connections", json_integer(service()->stats.n_current));
|
||||
@ -504,7 +500,6 @@ MXS_MODULE *MXS_CREATE_MODULE()
|
||||
{"master_reconnection", MXS_MODULE_PARAM_BOOL, "false"},
|
||||
{"delayed_retry", MXS_MODULE_PARAM_BOOL, "false"},
|
||||
{"delayed_retry_timeout", MXS_MODULE_PARAM_COUNT, "10"},
|
||||
{"delayed_retry_interval", MXS_MODULE_PARAM_COUNT, "1"},
|
||||
{MXS_END_MODULE_PARAMS}
|
||||
}
|
||||
};
|
||||
|
@ -175,8 +175,7 @@ struct Config
|
||||
causal_read_timeout(config_get_string(params, "causal_read_timeout")),
|
||||
master_reconnection(config_get_bool(params, "master_reconnection")),
|
||||
delayed_retry(config_get_bool(params, "delayed_retry")),
|
||||
delayed_retry_timeout(config_get_integer(params, "delayed_retry_timeout")),
|
||||
delayed_retry_interval(config_get_integer(params, "delayed_retry_interval"))
|
||||
delayed_retry_timeout(config_get_integer(params, "delayed_retry_timeout"))
|
||||
{
|
||||
if (enable_causal_read)
|
||||
{
|
||||
@ -206,7 +205,6 @@ struct Config
|
||||
bool master_reconnection; /**< Allow changes in master server */
|
||||
bool delayed_retry; /**< Delay routing if no target found */
|
||||
uint64_t delayed_retry_timeout; /**< How long to delay until an error is returned */
|
||||
uint64_t delayed_retry_interval; /**< How often to attepmt to route the delayed query */
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -22,6 +22,7 @@
|
||||
#include <maxscale/alloc.h>
|
||||
#include <maxscale/clock.h>
|
||||
#include <maxscale/modutil.h>
|
||||
#include <maxscale/modutil.hh>
|
||||
#include <maxscale/router.h>
|
||||
#include <maxscale/server.h>
|
||||
#include <maxscale/session_command.hh>
|
||||
@ -241,16 +242,12 @@ bool RWSplitSession::route_single_stmt(GWBUF *querybuf, const RouteInfo& info)
|
||||
else if (can_retry_query())
|
||||
{
|
||||
// Try to route the query again later
|
||||
uint64_t interval = m_config.delayed_retry_interval;
|
||||
MXS_SESSION* session = m_client->session;
|
||||
session_delay_routing(session, router_as_downstream(session),
|
||||
gwbuf_clone(querybuf), interval);
|
||||
session_delay_routing(session, router_as_downstream(session), gwbuf_clone(querybuf), 1);
|
||||
++m_retry_duration;
|
||||
succp = true;
|
||||
|
||||
// Increment by at least one to prevent infinite delay
|
||||
m_retry_duration += interval > 0 ? interval : 1;
|
||||
|
||||
MXS_INFO("Will try to route query again in %lu seconds", interval);
|
||||
MXS_INFO("Delaying routing: %s", extract_sql(querybuf).c_str());
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user