Instead of having the Swift storage engine try to delete the empty chunk(s) synchronously, we simply queue them and have a worker come along after 30s to delete the empty chunks. This has a few key benefits: it is async (doesn't slow down the push code), helps deal with Swift's eventual consistency (less retries necessary) and is generic for other storage engines if/when they need this as well |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| buildlogsarchiver.py | ||
| chunkcleanupworker.py | ||
| gcworker.py | ||
| globalpromstats.py | ||
| logrotateworker.py | ||
| notificationworker.py | ||
| queuecleanupworker.py | ||
| queueworker.py | ||
| repositoryactioncounter.py | ||
| security_notification_worker.py | ||
| securityworker.py | ||
| service_key_worker.py | ||
| storagereplication.py | ||
| worker.py | ||