MXS-1507: Make transaction replay configurable

The transaction retrying behavior is now configurable and documented. The
`transaction_replay` parameter implicitly enables the required
functionality in the router that it needs.
This commit is contained in:
Markus Mäkelä
2018-04-20 08:59:58 +03:00
parent c1c942a058
commit 2848f96945
4 changed files with 60 additions and 9 deletions

View File

@ -163,7 +163,8 @@ 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_timeout(config_get_integer(params, "delayed_retry_timeout")),
transaction_replay(config_get_bool(params, "transaction_replay"))
{
if (enable_causal_read)
{
@ -191,8 +192,9 @@ struct Config
bool enable_causal_read; /**< Enable causual read */
std::string causal_read_timeout; /**< Timeout, second parameter of function master_wait_gtid */
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 */
bool delayed_retry; /**< Delay routing if no target found */
uint64_t delayed_retry_timeout; /**< How long to delay until an error is returned */
bool transaction_replay; /**< Replay failed transactions */
};
/**