Add support for autoeviction of slow nodes.

Partial-Bug: 1815196

Change-Id: Ia3084c2a7eb8c4dc9b4eb7c6372369a5996f87b5
This commit is contained in:
Dimos Alevizos 2019-02-19 21:17:10 +02:00 committed by Chris MacNaughton (icey)
parent 79d8a0f7b7
commit b96f7120c4
2 changed files with 18 additions and 0 deletions

View File

@ -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 <uuid>:<address>:<count>, where <count>
is the number of entries on delayed list for that node.
'wsrep_evs_evict_list': List of UUIDs of the evicted nodes.

View File

@ -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