diff options
author | Matthew Oliver <matt@oliver.net.au> | 2022-02-10 13:42:48 +1100 |
---|---|---|
committer | Matthew Oliver <matt@oliver.net.au> | 2022-07-21 13:35:24 +1000 |
commit | bf4edefce4990a9c8c3f6a92696af37d840d2008 (patch) | |
tree | f9ebacd4cfb350dab7836a3c7a76bb6e0906ac85 /etc | |
parent | 57f17ace7c911b80587a03634346478b6ca432e8 (diff) | |
download | swift-bf4edefce4990a9c8c3f6a92696af37d840d2008.tar.gz |
DB Replicator: Add handoff_delete option
Currently the object-replicator has an option called `handoff_delete`
which allows us to define the the number of replicas which are ensured
in swift. Once a handoff node ensures that many successful responses it
can go ahead and delete the handoff partition.
By default it's 'auto' or rather the number of primary nodes. But this
can be reduced. It's useful in draining full disks, but has to be used
carefully.
This patch adds the same option to the DB replicator and works the same
way. But instead of deleting a partition it's done at the per DB level.
Because it's done in the DB Replicator level it means the option is now
available to both the Account and Container replicators.
Change-Id: Ide739a6d805bda20071c7977f5083574a5345a33
Diffstat (limited to 'etc')
-rw-r--r-- | etc/account-server.conf-sample | 13 | ||||
-rw-r--r-- | etc/container-server.conf-sample | 13 |
2 files changed, 22 insertions, 4 deletions
diff --git a/etc/account-server.conf-sample b/etc/account-server.conf-sample index 89c1ea350..ef274cbfd 100644 --- a/etc/account-server.conf-sample +++ b/etc/account-server.conf-sample @@ -187,8 +187,8 @@ use = egg:swift#recon # ionice_class = # ionice_priority = # -# The handoffs_only mode option is for special-case emergency -# situations such as full disks in the cluster. This option SHOULD NOT +# The handoffs_only and handoff_delete options are for special-case emergency +# situations such as full disks in the cluster. These options SHOULD NOT # BE ENABLED except in emergencies. When handoffs_only mode is enabled # the replicator will *only* replicate from handoff nodes to primary # nodes and will not sync primary nodes with other primary nodes. @@ -205,6 +205,15 @@ use = egg:swift#recon # long-term use. # # handoffs_only = no +# +# handoff_delete is the number of replicas which are ensured in swift. +# If the number less than the number of replicas is set, account-replicator +# could delete local handoffs even if all replicas are not ensured in the +# cluster. The replicator would remove local handoff account database after +# syncing when the number of successful responses is greater than or equal to +# this number. By default(auto), handoff partitions will be +# removed when it has successfully replicated to all the canonical nodes. +# handoff_delete = auto [account-auditor] # You can override the default log routing for this app here (don't use set!): diff --git a/etc/container-server.conf-sample b/etc/container-server.conf-sample index e1f8482c6..93887f60a 100644 --- a/etc/container-server.conf-sample +++ b/etc/container-server.conf-sample @@ -197,8 +197,8 @@ use = egg:swift#recon # ionice_class = # ionice_priority = # -# The handoffs_only mode option is for special-case emergency -# situations such as full disks in the cluster. This option SHOULD NOT +# The handoffs_only and handoff_delete options are for special-case emergency +# situations such as full disks in the cluster. These options SHOULD NOT # BE ENABLED except in emergencies. When handoffs_only mode is enabled # the replicator will *only* replicate from handoff nodes to primary # nodes and will not sync primary nodes with other primary nodes. @@ -215,6 +215,15 @@ use = egg:swift#recon # long-term use. # # handoffs_only = no +# +# handoff_delete is the number of replicas which are ensured in swift. +# If the number less than the number of replicas is set, container-replicator +# could delete local handoffs even if all replicas are not ensured in the +# cluster. The replicator would remove local handoff container database after +# syncing when the number of successful responses is greater than or equal to +# this number. By default(auto), handoff partitions will be +# removed when it has successfully replicated to all the canonical nodes. +# handoff_delete = auto [container-updater] # You can override the default log routing for this app here (don't use set!): |