Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Swift - Object Expirer doesn't work

Hi,

I'm running Grizzly with Swift and Keystone, I've been trying to get object-expiry to work but whatever I do it never deletes any of the items I give an expiry to, they just stay in the container and 404 if I try to retrieve them after their expiry date.

Here's the config

[DEFAULT]

[object-expirer]
auto_create_account_prefix = .

[pipeline:main]
pipeline = recon catch_errors cache proxy-server

[app:proxy-server]
use = egg:swift#proxy

[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift


[filter:cache]
use = egg:swift#memcache
memcache_servers = 127.0.0.1:11211

[filter:catch_errors]
use = egg:swift#catch_errors

Logs:

Oct 21 03:45:23 proxy01 object-expirer Pass beginning; 0 possible containers; 0 possible objects
Oct 21 03:45:24 proxy01 object-expirer Pass completed in 0s; 0 objects expired

Swift - Object Expirer doesn't worknever delets items only sends 404

Hi,

I'm running Grizzly with Swift and Keystone, I've been trying to get object-expiry to work but whatever I do it never deletes any of the items I give an expiry to, they just stay in the container and 404 if I try to retrieve them after their expiry date.

Here's the config

[DEFAULT]

[object-expirer]
auto_create_account_prefix = .

[pipeline:main]
pipeline = recon catch_errors cache proxy-server

[app:proxy-server]
use = egg:swift#proxy

[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift


[filter:cache]
use = egg:swift#memcache
memcache_servers = 127.0.0.1:11211

[filter:catch_errors]
use = egg:swift#catch_errors

Logs:

Oct 21 03:45:23 proxy01 object-expirer Pass beginning; 0 possible containers; 0 possible objects
Oct 21 03:45:24 proxy01 object-expirer Pass completed in 0s; 0 objects expired

Swift Object Expirer never delets items only sends 404

I'm running Grizzly with Swift and Keystone, I've been trying to get object-expiry to work but whatever I do it never deletes any of the items I give an expiry to, they just stay in the container and 404 if I try to retrieve them after their expiry date.

Here's the config

[DEFAULT]

[object-expirer]
auto_create_account_prefix = .

[pipeline:main]
pipeline = recon catch_errors cache proxy-server

[app:proxy-server]
use = egg:swift#proxy

[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift


[filter:cache]
use = egg:swift#memcache
memcache_servers = 127.0.0.1:11211

[filter:catch_errors]
use = egg:swift#catch_errors

Logs:

Oct 21 03:45:23 proxy01 object-expirer Pass beginning; 0 possible containers; 0 possible objects
Oct 21 03:45:24 proxy01 object-expirer Pass completed in 0s; 0 objects expired

I've now managed to get it to recognize that there are objects that should be deleted, but it doesn't seem to actually do it

    object-expirer Run begin
swift - - 05/Dec/2013/04/32/35 HEAD /v1/.expiring_objects HTTP/1.0 204 - Swift%20Object%20Expirer - - - - txa11124b9ca47482bb2e1d9e3588e0b6a - 0.0052 -
object-expirer Pass beginning; 1 possible containers; 1 possible objects
swift - - 05/Dec/2013/04/32/35 GET /v1/.expiring_objects%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 200 - Swift%20Object%20Expirer - - 48 - tx76a4e5e78ed64dac83c352c18eedc35b - 0.0052 -
swift - - 05/Dec/2013/04/32/35 GET /v1/.expiring_objects/1377129600%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 404 - Swift%20Object%20Expirer - - 52 - tx5aeb5c9b31344cbb9f6d890c11070767 - 0.0050 -
swift - - 05/Dec/2013/04/32/35 DELETE /v1/.expiring_objects/1377129600 HTTP/1.0 404 - Swift%20Object%20Expirer - - 52 - tx8fadcf449f9d454591b70e56ad0a8411 - 0.0034 -
swift - - 05/Dec/2013/04/32/35 GET /v1/.expiring_objects%3Fformat%3Djson%26marker%3D1377129600%26end_marker%3D HTTP/1.0 200 - Swift%20Object%20Expirer - - 2 - tx51a0d50a138b488a813ed9d83a368fbc - 0.0051 -
object-expirer Run end (txn: tx51a0d50a138b488a813ed9d83a368fbc)
object-expirer Pass completed in 0s; 0 objects expired
object-expirer Exited

Swift Object Expirer never delets deletes items only sends 404

I'm running Grizzly with Swift and Keystone, I've been trying to get object-expiry to work but whatever I do it never deletes any of the items I give an expiry to, they just stay in the container and 404 if I try to retrieve them after their expiry date.

Here's the config

[DEFAULT]

[object-expirer]
auto_create_account_prefix = .

[pipeline:main]
pipeline = recon catch_errors cache proxy-server

[app:proxy-server]
use = egg:swift#proxy

[filter:recon]
use = egg:swift#recon
recon_cache_path = /var/cache/swift


[filter:cache]
use = egg:swift#memcache
memcache_servers = 127.0.0.1:11211

[filter:catch_errors]
use = egg:swift#catch_errors

Logs:

Oct 21 03:45:23 proxy01 object-expirer Pass beginning; 0 possible containers; 0 possible objects
Oct 21 03:45:24 proxy01 object-expirer Pass completed in 0s; 0 objects expired

I've now managed to get it to recognize that there are objects that should be deleted, but it doesn't seem to actually do it

    object-expirer Run begin
swift - - 05/Dec/2013/04/32/35 HEAD /v1/.expiring_objects HTTP/1.0 204 - Swift%20Object%20Expirer - - - - txa11124b9ca47482bb2e1d9e3588e0b6a - 0.0052 -
object-expirer Pass beginning; 1 possible containers; 1 possible objects
swift - - 05/Dec/2013/04/32/35 GET /v1/.expiring_objects%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 200 - Swift%20Object%20Expirer - - 48 - tx76a4e5e78ed64dac83c352c18eedc35b - 0.0052 -
swift - - 05/Dec/2013/04/32/35 GET /v1/.expiring_objects/1377129600%3Fformat%3Djson%26marker%3D%26end_marker%3D HTTP/1.0 404 - Swift%20Object%20Expirer - - 52 - tx5aeb5c9b31344cbb9f6d890c11070767 - 0.0050 -
swift - - 05/Dec/2013/04/32/35 DELETE /v1/.expiring_objects/1377129600 HTTP/1.0 404 - Swift%20Object%20Expirer - - 52 - tx8fadcf449f9d454591b70e56ad0a8411 - 0.0034 -
swift - - 05/Dec/2013/04/32/35 GET /v1/.expiring_objects%3Fformat%3Djson%26marker%3D1377129600%26end_marker%3D HTTP/1.0 200 - Swift%20Object%20Expirer - - 2 - tx51a0d50a138b488a813ed9d83a368fbc - 0.0051 -
object-expirer Run end (txn: tx51a0d50a138b488a813ed9d83a368fbc)
object-expirer Pass completed in 0s; 0 objects expired
object-expirer Exited