MXS-2300: Add session command pruning
This commit adds a new parameter that, when enabled, prunes the session command history to a known length. This makes it possible to keep a client-side pooled connection open indefinitely at the cost of making reconnections theoretically unsafe. In practice the maximum history length can be set to a value that encompasses a single session using the pooled connection with no risk to session state integrity. The default history length of 50 commands is quite likely to be adequate for the majority of use-cases.
This commit is contained in:
@ -151,6 +151,7 @@ struct Config
|
||||
(enum failure_mode)config_get_enum(
|
||||
params, "master_failure_mode", master_failure_mode_values))
|
||||
, max_sescmd_history(config_get_integer(params, "max_sescmd_history"))
|
||||
, prune_sescmd_history(config_get_bool(params, "prune_sescmd_history"))
|
||||
, disable_sescmd_history(config_get_bool(params, "disable_sescmd_history"))
|
||||
, master_accept_reads(config_get_bool(params, "master_accept_reads"))
|
||||
, strict_multi_stmt(config_get_bool(params, "strict_multi_stmt"))
|
||||
@ -205,6 +206,7 @@ struct Config
|
||||
* master or all nodes */
|
||||
failure_mode master_failure_mode; /**< Master server failure handling mode */
|
||||
uint64_t max_sescmd_history; /**< Maximum amount of session commands to store */
|
||||
bool prune_sescmd_history; /**< Prune session command history */
|
||||
bool disable_sescmd_history;/**< Disable session command history */
|
||||
bool master_accept_reads; /**< Use master for reads */
|
||||
bool strict_multi_stmt; /**< Force non-multistatement queries to be routed to
|
||||
|
||||
Reference in New Issue
Block a user