diff --git a/server/modules/routing/readwritesplit/readwritesplit.cc b/server/modules/routing/readwritesplit/readwritesplit.cc index 0b806145f..086a89266 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.cc +++ b/server/modules/routing/readwritesplit/readwritesplit.cc @@ -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} } }; diff --git a/server/modules/routing/readwritesplit/readwritesplit.hh b/server/modules/routing/readwritesplit/readwritesplit.hh index 37a94358d..78cd420ce 100644 --- a/server/modules/routing/readwritesplit/readwritesplit.hh +++ b/server/modules/routing/readwritesplit/readwritesplit.hh @@ -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 */ }; /** diff --git a/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc b/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc index fda6fe619..7c8077f06 100644 --- a/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc +++ b/server/modules/routing/readwritesplit/rwsplit_route_stmt.cc @@ -22,6 +22,7 @@ #include #include #include +#include #include #include #include @@ -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()); } }