---
name: "object-expirer.conf"
section: "5"
platform: "linux"
package: "swift-object"
version: "2.35.1-0+deb13u3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/object-expirer.conf"
---

# object-expirer.conf(5)

configuration file for the OpenStack Swift object expirer daemon

## NAME

**object-expirer.conf** - configuration file for the OpenStack Swift object expirer daemon

## SYNOPSIS

**object-expirer.conf**

## DESCRIPTION

This is the configuration file used by the object expirer daemon. The daemon's function is to query the internal hidden expiring\_objects\_account to discover objects that need to be deleted and to then delete them.

The configuration file follows the python-pastedeploy syntax. The file is divided into sections, which are enclosed by square brackets. Each section will contain a certain number of key/value parameters which are described later.

Any line that begins with a '#' symbol is ignored.

You can find more information about python-pastedeploy configuration format at *https://docs.pylonsproject.org/projects/pastedeploy/en/latest/#config-format*

## GLOBAL SECTION

This is indicated by section named \[DEFAULT\]. Below are the parameters that are acceptable within this section.

- **swift\_dir**

  Swift configuration directory. The default is /etc/swift.

- **user**

  The system user that the object server will run as. The default is swift.

- **log\_name**

  Label used when logging. The default is swift.

- **log\_facility**

  Syslog log facility. The default is LOG\_LOCAL0.

- **log\_level**

  Logging level. The default is INFO.

- **log\_address**

  Logging address. The default is /dev/log.

- **log\_max\_line\_length**

  The following caps the length of log lines to the value given; no limit if set to 0, the default.

- **log\_custom\_handlers**

  Comma separated list of functions to call to setup custom log handlers. functions get passed: conf, name, log\_to\_console, log\_route, fmt, logger, adapted\_logger. The default is empty.

- **log\_udp\_host**

  If set, log\_udp\_host will override log\_address.

- **log\_udp\_port**

  UDP log port, the default is 514.

- **log\_statsd\_host**

  StatsD server. IPv4/IPv6 addresses and hostnames are supported. If a hostname resolves to an IPv4 and IPv6 address, the IPv4 address will be used.

- **log\_statsd\_port**

  The default is 8125.

- **log\_statsd\_default\_sample\_rate**

  The default is 1.

- **log\_statsd\_sample\_rate\_factor**

  The default is 1.

- **log\_statsd\_metric\_prefix**

  The default is empty.

- **delay\_reaping\_account/container**

  Normally, the expirer begins reaping expired objects immediately.  You can add options prefixed with "delay\_reaping\_" in the form of "delay\_reaping\_\<ACCT\>\[/\<CNTR\>\]" to cause the expirer to delay processing of tasks in those account or account/container.  The \<ACCT\>\[/\<CNTR\>\] part of the config option names should url-quote the paths.  The value is in seconds. The default is no delay for any tasks.

- **round\_robin\_task\_cache\_size**

  Number of tasks objects to cache before processing.

- **nice\_priority**

  Modify scheduling priority of server processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). The default does not modify priority.

- **ionice\_class**

  Modify I/O scheduling class of server processes. I/O niceness class values are IOPRIO\_CLASS\_RT (realtime), IOPRIO\_CLASS\_BE (best-effort) and IOPRIO\_CLASS\_IDLE (idle). The default does not modify class and priority. Work only with ionice\_priority.

- **ionice\_priority**

  Modify I/O scheduling priority of server processes. I/O niceness priority is a number which goes from 0 to 7. The higher the value, the lower the I/O priority of the process. Work only with ionice\_class. Ignored if IOPRIO\_CLASS\_IDLE is set.

## PIPELINE SECTION

This is indicated by section name \[pipeline:main\]. Below are the parameters that are acceptable within this section.

- **pipeline**

  It is used when you need to apply a number of filters. It is a list of filters ended by an application. The default should be **"catch\_errors cache proxy-server"**

## APP SECTION

This is indicated by section name \[app:object-server\]. Below are the parameters that are acceptable within this section.

- **use**

  Entry point for paste.deploy for the object server. This is the reference to the installed python egg. The default is **egg:swift#proxy**. See proxy-server.conf-sample for options or See proxy-server.conf manpage.

- **nice\_priority**

  Modify scheduling priority of server processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). The default does not modify priority.

- **ionice\_class**

  Modify I/O scheduling class of server processes. I/O niceness class values are IOPRIO\_CLASS\_RT (realtime), IOPRIO\_CLASS\_BE (best-effort) and IOPRIO\_CLASS\_IDLE (idle). The default does not modify class and priority. Work only with ionice\_priority.

- **ionice\_priority**

  Modify I/O scheduling priority of server processes. I/O niceness priority is a number which goes from 0 to 7. The higher the value, the lower the I/O priority of the process. Work only with ionice\_class. Ignored if IOPRIO\_CLASS\_IDLE is set.

## FILTER SECTION

Any section that has its name prefixed by "filter:" indicates a filter section. Filters are used to specify configuration parameters for specific swift middlewares. Below are the filters available and respective acceptable parameters.

- **\[filter:cache\]**

  Caching middleware that manages caching in swift.

- **use**

  Entry point for paste.deploy for the memcache middleware. This is the reference to the installed python egg. The default is **egg:swift#memcache**. See proxy-server.conf-sample for options or See proxy-server.conf manpage.

- **\[filter:catch\_errors\]**

  - **use**

  Entry point for paste.deploy for the catch\_errors middleware. This is the reference to the installed python egg. The default is **egg:swift#catch\_errors**. See proxy-server.conf-sample for options or See proxy-server.conf manpage.

- **\[filter:proxy-logging\]**

  Logging for the proxy server now lives in this middleware. If the access\_\* variables are not set, logging directives from \[DEFAULT\] without "access\_" will be used.

- **use**

  Entry point for paste.deploy for the proxy\_logging middleware. This is the reference to the installed python egg. This is normally **egg:swift#proxy\_logging**. See proxy-server.conf-sample for options or See proxy-server.conf manpage.

## OBJECT EXPIRER SECTION

- **\[object-expirer\]**

  - **interval**

  Replaces run\_pause with the more standard "interval", which means the replicator won't pause unless it takes less than the interval set. The default is 300.

- **report\_interval**

  The default is 300 seconds.

- **request\_tries**

  The number of times the expirer's internal client will attempt any given request in the event of failure. The default is 3.

- **concurrency**

  Number of expirer workers to spawn. The default is 1.

- **processes**

  Processes is how many parts to divide the work into, one part per process that will be doing the work. Processes set 0 means that a single process will be doing all the work. Processes can also be specified on the command line and will override the config value. The default is 0.

- **process**

  Process is which of the parts a particular 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. The default is 0.

- **reclaim\_age**

  The expirer will re-attempt expiring if the source object is not available up to reclaim\_age seconds before it gives up and deletes the entry in the queue. The default is 604800 seconds.

- **recon\_cache\_path**

  Path to recon cache directory. The default is /var/cache/swift.

- **nice\_priority**

  Modify scheduling priority of server processes. Niceness values range from -20 (most favorable to the process) to 19 (least favorable to the process). The default does not modify priority.

- **ionice\_class**

  Modify I/O scheduling class of server processes. I/O niceness class values are IOPRIO\_CLASS\_RT (realtime), IOPRIO\_CLASS\_BE (best-effort) and IOPRIO\_CLASS\_IDLE (idle). The default does not modify class and priority. Work only with ionice\_priority.

- **ionice\_priority**

  Modify I/O scheduling priority of server processes. I/O niceness priority is a number which goes from 0 to 7. The higher the value, the lower the I/O priority of the process. Work only with ionice\_class. Ignored if IOPRIO\_CLASS\_IDLE is set.

## DOCUMENTATION

More in depth documentation about the swift-object-expirer and also OpenStack Swift as a whole can be found at **https://docs.openstack.org/swift/latest/admin\_guide.html** and **https://docs.openstack.org/swift/latest/**

## SEE ALSO

**swift-proxy-server.conf(5),**
