Clarify usage of dequeue_from_legacy option

Change-Id: Iae9aa7a91b9afc19cb8613b5bc31de463b853dde
This commit is contained in:
Clay Gerrard 2019-05-02 16:10:55 -06:00 committed by Tim Burke
parent fd73353bb1
commit 34bd4f7fa3
2 changed files with 30 additions and 27 deletions

View File

@ -474,10 +474,34 @@ use = egg:swift#recon
# rsync_tempfile_timeout = auto # rsync_tempfile_timeout = auto
# [object-expirer] # [object-expirer]
# If this true, this expirer will execute tasks from legacy expirer task queue,
# at least one object server should run with dequeue_from_legacy = true
# dequeue_from_legacy = false
#
# Note: Be careful not to enable ``dequeue_from_legacy`` on too many expirers # Note: Be careful not to enable ``dequeue_from_legacy`` on too many expirers
# as all legacy tasks are stored in a single hidden account and the same hidden # as all legacy tasks are stored in a single hidden account and the same hidden
# containers. On a large cluster one may inadvertently make the # containers. On a large cluster one may inadvertently make the
# acccount/container server for the hidden ones busy. # acccount/container server for the hidden too busy.
#
# Note: the processes and process options can only be used in conjunction with
# notes using `dequeue_from_legacy = true`. These options are ignored on nodes
# with `dequeue_from_legacy = false`.
#
# processes is how many parts to divide the legacy work into, one part per
# process that will be doing the work
# processes set 0 means that a single legacy process will be doing all the work
# processes can also be specified on the command line and will override the
# config value
# processes = 0
#
# process is which of the parts a particular legacy process will work on
# process can also be specified on the command line and will override the config
# value
# process is "zero based", if you want to use 3 processes, you should run
# processes with process set to 0, 1, and 2
# process = 0
#
# internal_client_conf_path = /etc/swift/internal-client.conf
# #
# You can override the default log routing for this app here (don't use set!): # You can override the default log routing for this app here (don't use set!):
# log_name = object-expirer # log_name = object-expirer
@ -487,29 +511,6 @@ use = egg:swift#recon
# #
# interval = 300 # interval = 300
# #
# If this true, expirer execute tasks in legacy expirer task queue
# dequeue_from_legacy = false
#
# internal_client_conf_path = /etc/swift/internal-client.conf
#
# processes can only be used in conjunction with `dequeue_from_legacy`.
# So this option is ignored if dequeue_from_legacy=false.
# processes is how many parts to divide the legacy work into, one part per
# process that will be doing the work
# processes set 0 means that a single legacy process will be doing all the work
# processes can also be specified on the command line and will override the
# config value
# processes = 0
#
# process can only be used in conjunction with `dequeue_from_legacy`.
# So this option is ignored if dequeue_from_legacy=false.
# process is which of the parts a particular legacy process will work on
# process can also be specified on the command line and will override the config
# value
# process is "zero based", if you want to use 3 processes, you should run
# processes with process set to 0, 1, and 2
# process = 0
#
# report_interval = 300 # report_interval = 300
# #
# request_tries is the number of times the expirer's internal client will # request_tries is the number of times the expirer's internal client will

View File

@ -268,9 +268,11 @@ class ObjectExpirer(Daemon):
# This if-clause will be removed when general task queue feature is # This if-clause will be removed when general task queue feature is
# implemented. # implemented.
if not self.dequeue_from_legacy: if not self.dequeue_from_legacy:
self.logger.info('Until general task queue has been released ' self.logger.info('This node is not configured to dequeue tasks '
'`dequeue_from_legacy == False` means an ' 'from the legacy queue. This node will '
'object-expirer run is a no-op.') 'not process any expiration tasks. At least '
'one node in your cluster must be configured '
'with dequeue_from_legacy == true.')
return return
self.get_process_values(kwargs) self.get_process_values(kwargs)