path: root/etc/object-expirer.conf-gluster
diff options
authorPrashanth Pai <>2014-01-28 12:13:33 +0530
committerChetan Risbud <>2014-03-24 22:14:15 -0700
commit2014cdb9066e273cf791f38b1c8247427c76cfa9 (patch)
tree4ad9a3bd0e604ce7fdab16ed007dbdd56386f5eb /etc/object-expirer.conf-gluster
parent2505d8281593730d8b31794d0fe8132417c34a48 (diff)
Add support for Object Expiration feature
Preventing access to expired objects ------------------------------------ Re-enabled accepting X-Delete-At and X-Delete-After headers. During a GET on an expired object, DiskFileExpired is raised by DiskFile class. This will result in object-server returning HTTPNotFound (404) to the client. Tracking objects to be deleted ------------------------------ Objects to be deleted are tracked using "tracker objects". These are PUT into a special account(a volume, for now). These zero size "tracker objects" have names that contain: * Expiration timestamp * Path of the actual object to be deleted Deleting actual objects from GlusterFS volume --------------------------------------------- The object-expirer daemon runs a pass once every X seconds. For every pass it makes, it queries the special account for "tracker objects". Based on (timestamp, path) present in name of "tracker objects", object-expirer then deletes the actual object and the corresponding tracker object. To run object-expirer forever: swift-init object-expirer start To run just once: swift-object-expirer -o -v /etc/swift/object-expirer.conf Caveat/Limitation: Object-expirer needs a separate account(volume) that is not used by other services like gswauth. By default, this volume is named "gsexpiring" and is configurable. More info about object expiration: Change-Id: I876995bf4f16ef4bfdff901561e0558ecf1dc38f Signed-off-by: Prashanth Pai <> Reviewed-on: Tested-by: Chetan Risbud <> Reviewed-by: pushpesh sharma <> Tested-by: pushpesh sharma <> Reviewed-by: Chetan Risbud <>
Diffstat (limited to 'etc/object-expirer.conf-gluster')
1 files changed, 27 insertions, 0 deletions
diff --git a/etc/object-expirer.conf-gluster b/etc/object-expirer.conf-gluster
new file mode 100644
index 0000000..4449ee2
--- /dev/null
+++ b/etc/object-expirer.conf-gluster
@@ -0,0 +1,27 @@
+#TODO: Add documentation to explain various options
+#For now, refer:
+user = root
+log_facility = LOG_LOCAL2
+log_level = DEBUG
+# The following parameters are used by object-expirer and needs to be same
+# across all conf files!
+auto_create_account_prefix = gs
+expiring_objects_account_name = expiring
+interval = 30
+pipeline = catch_errors cache proxy-server
+use = egg:gluster_swift#proxy
+use = egg:swift#memcache
+use = egg:swift#catch_errors