From b96f7120c44b6c8bc7b804b72f9a25a7c55d005e Mon Sep 17 00:00:00 2001 From: Dimos Alevizos Date: Tue, 19 Feb 2019 21:17:10 +0200 Subject: [PATCH] Add support for autoeviction of slow nodes. Partial-Bug: 1815196 Change-Id: Ia3084c2a7eb8c4dc9b4eb7c6372369a5996f87b5 --- config.yaml | 13 +++++++++++++ hooks/percona_utils.py | 5 +++++ 2 files changed, 18 insertions(+) diff --git a/config.yaml b/config.yaml index 1eebbd9..333c5ec 100644 --- a/config.yaml +++ b/config.yaml @@ -358,3 +358,16 @@ options: control message will be sent. The fc_limit defaults to 16 transactions. This effectively means that this is as far as a given node can be behind committing transactions from the cluster. + autoevict: + type: int + default: 0 + description: | + Number of entries allowed on delayed list until auto eviction takes place. + Setting value to 0 disables auto eviction. This setting enables autoeviction + of slow nodes. Implies 'evs.version=1'. + Related STATUS variables: + . + 'wsrep_evs_delayed': Comma separated list of nodes that are considered delayed. + The node format is :
:, where + is the number of entries on delayed list for that node. + 'wsrep_evs_evict_list': List of UUIDs of the evicted nodes. diff --git a/hooks/percona_utils.py b/hooks/percona_utils.py index 0abbd18..37acd16 100644 --- a/hooks/percona_utils.py +++ b/hooks/percona_utils.py @@ -1071,6 +1071,11 @@ def get_wsrep_provider_options(): if config('gcs-fc-limit') is not None: wsrep_provider_options.append( 'gcs.fc_limit={}'.format(config('gcs-fc-limit'))) + if config('autoevict') is not None: + wsrep_provider_options.append( + 'evs.auto_evict={}'.format(config('autoevict'))) + wsrep_provider_options.append( + 'evs.version=1') peer_timeout = config('peer-timeout') if peer_timeout and(not peer_timeout.startswith('PT') or