Comment 7 for bug 1678022

Revision history for this message
Tim Burke (1-tim-z) wrote :

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)

Likely related: https://bugs.launchpad.net/swift/+bug/1598093