Merge pull request #3260 from quay/delete-swift-empty-segments
Make sure empty segments in Swift are deleted on upload cancelation
This commit is contained in:
commit
8b7254d377
2 changed files with 8 additions and 1 deletions
|
@ -408,6 +408,10 @@ class SwiftStorage(BaseStorage):
|
|||
for segment in SwiftStorage._segment_list_from_metadata(storage_metadata, key=_SEGMENTS_KEY):
|
||||
self.remove(segment.path)
|
||||
|
||||
for segment in SwiftStorage._segment_list_from_metadata(storage_metadata,
|
||||
key=_EMPTY_SEGMENTS_KEY):
|
||||
self.remove(segment.path)
|
||||
|
||||
def copy_to(self, destination, path):
|
||||
if (self.__class__ == destination.__class__ and
|
||||
self._swift_user == destination._swift_user and
|
||||
|
|
|
@ -7,7 +7,7 @@ from collections import defaultdict
|
|||
from mock import MagicMock, patch
|
||||
|
||||
from storage import StorageContext
|
||||
from storage.swift import SwiftStorage
|
||||
from storage.swift import SwiftStorage, _EMPTY_SEGMENTS_KEY
|
||||
from swiftclient.client import ClientException
|
||||
|
||||
base_args = {
|
||||
|
@ -278,6 +278,9 @@ def test_cancel_chunked_upload():
|
|||
for segment in SwiftStorage._segment_list_from_metadata(metadata):
|
||||
assert not swift.exists(segment.path)
|
||||
|
||||
for segment in SwiftStorage._segment_list_from_metadata(metadata, key=_EMPTY_SEGMENTS_KEY):
|
||||
assert not swift.exists(segment.path)
|
||||
|
||||
def test_empty_chunks_queued_for_deletion():
|
||||
chunk_cleanup_queue = FakeQueue()
|
||||
args = dict(base_args)
|
||||
|
|
Reference in a new issue