Including python-swiftclient, too, since I'm not sure yet whether this should be considered a client or server issue.
$ echo '%2f' > %2f
$ swift upload --use-slo -S 2 c %2f
%2f segment 1
%2f segment 0
Object PUT failed: http://saio:8080/v1/AUTH_admin/c/%252f?multipart-manifest=put 400 Bad Request [first 60 chars of response] b'Errors:\n/c_segments/%252f/slo/1500588333.000000/4/2/00000001'
For extra fun, try with DLO:
$ swift upload -S 2 c %2f
%2f segment 0
%2f segment 1
%2f
$ swift download --output - c %2f
Error downloading object 'c/%2f': Object GET failed: http://saio:8080/v1/AUTH_admin/c/%252f 409 Conflict [first 60 chars of response] b'<html><h1>Conflict</h1><p>There was a conflict when trying t'
Proxy log for that download gives me
Jul 20 22:19:31 saio proxy-server: ERROR: An error occurred while retrieving segments:
Traceback (most recent call last):
File "/vagrant/swift/swift/common/request_helpers.py", line 442, in _internal_iter
(self.name, seg_resp.status_int, seg_req.path))
SegmentError: ERROR: While processing manifest /v1/AUTH_admin/c/%252f, got 404 while retrieving /v1/AUTH_admin/c_segments///1500588333.000000/4/2/00000000 (txn: tx6b7eb1b9558a416a9ce52-0059712c73)
Including python-swiftclient, too, since I'm not sure yet whether this should be considered a client or server issue.
$ echo '%2f' > %2f saio:8080/ v1/AUTH_ admin/c/ %252f?multipart -manifest= put 400 Bad Request [first 60 chars of response] b'Errors: \n/c_segments/ %252f/slo/ 1500588333. 000000/ 4/2/00000001'
$ swift upload --use-slo -S 2 c %2f
%2f segment 1
%2f segment 0
Object PUT failed: http://
For extra fun, try with DLO:
$ swift upload -S 2 c %2f saio:8080/ v1/AUTH_ admin/c/ %252f 409 Conflict [first 60 chars of response] b'<html> <h1>Conflict< /h1><p> There was a conflict when trying t'
%2f segment 0
%2f segment 1
%2f
$ swift download --output - c %2f
Error downloading object 'c/%2f': Object GET failed: http://
Proxy log for that download gives me
Jul 20 22:19:31 saio proxy-server: ERROR: An error occurred while retrieving segments: swift/swift/ common/ request_ helpers. py", line 442, in _internal_iter status_ int, seg_req.path)) admin/c/ %252f, got 404 while retrieving /v1/AUTH_ admin/c_ segments/ //1500588333. 000000/ 4/2/00000000 (txn: tx6b7eb1b9558a4 16a9ce52- 0059712c73)
Traceback (most recent call last):
File "/vagrant/
(self.name, seg_resp.
SegmentError: ERROR: While processing manifest /v1/AUTH_
Likely related: https:/ /bugs.launchpad .net/swift/ +bug/1598093