bbaed18e9b
DiskFileManager will remove any stale files during cleanup_ondisk_files(): these include tombstones and nondurable EC data fragments whose timestamps are older than reclaim_age. It can usually be safely assumed that a non-durable data fragment older than reclaim_age is not going to become durable. However, if an agent PUTs objects with specified older X-Timestamps (for example the reconciler or container-sync) then there is a window of time during which the object server has written an old non-durable data file but has not yet committed it to make it durable. Previously, if another process (for example the reconstructor) called cleanup_ondisk_files during this window then the non-durable data file would be removed. The subsequent attempt to commit the data file would then result in a traceback due to there no longer being a data file to rename, and of course the data file is lost. This patch modifies cleanup_ondisk_files to not remove old, otherwise stale, non-durable data files that were only written to disk in the preceding 'commit_window' seconds. 'commit_window' is configurable for the object server and defaults to 60.0 seconds. Closes-Bug: #1936508 Related-Change: I0d519ebaaade35249fb7b17bd5f419ffdaa616c0 Change-Id: I5f3318a44af64b77a63713e6ff8d0fd3b6144f13 |
||
---|---|---|
.. | ||
account-server.conf-sample | ||
container-reconciler.conf-sample | ||
container-server.conf-sample | ||
container-sync-realms.conf-sample | ||
dispersion.conf-sample | ||
drive-audit.conf-sample | ||
internal-client.conf-sample | ||
keymaster.conf-sample | ||
memcache.conf-sample | ||
mime.types-sample | ||
object-expirer.conf-sample | ||
object-server.conf-sample | ||
proxy-server.conf-sample | ||
rsyncd.conf-sample | ||
swift-rsyslog.conf-sample | ||
swift.conf-sample |