md5 sum is incorrect from proxy
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
New
|
Undecided
|
Unassigned |
Bug Description
Currently on my Swift cluster I am getting improper content lengths back from newly created objects.
Here is an example of how I am reproducing, Please note that the content length coming back from the object servers are right, it's the proxy that is mangling the content length, also note that a length of 13 seems to be the standard for what it returns -- I think it might be giving the content length of the request itself.
josh@vm-
5096+0 records in
5096+0 records out
20873216 bytes (21 MB) copied, 3.16561 s, 6.6 MB/s
josh@vm-
swift_md5_test
josh@vm-
Account: AUTH_e46592f7-
Container: data.dev.sa2s
Object: swift_md5_test
Content Type: text/plain
Content Length: 13
Last Modified: Mon, 02 Apr 2012 17:00:24 GMT
ETag: 37389c3e6d1940d
Meta Mtime: 1333385918.0
Accept-Ranges: bytes
X-Trans-Id: txb2be4170b4384
josh@vm-
HTTP/1.1 200 OK
Content-Type: application/
X-Object-
Etag: "37389c3e6d1940
Last-Modified: Mon, 02 Apr 2012 17:00:24 GMT
Content-Length: 20873216
X-Timestamp: 1333386024.44127
Date: Mon, 02 Apr 2012 17:07:11 GMT
Hi Josh,
I'm seeing the exact same thing with a swift 1.4.8 installation. My test environment is running CentOS 6. Are you running the standard Ubuntu packages or a custom install as well?
The software versions that I have installed:
python - 2.6.6 (CentOS 6 OS packages) 3.0-py2. 6.egg 4.7.2-py2. 6.egg 3.5.1-py2. 6-linux- x86_64. egg 3.3.2-py2. 6.egg 0.6.10- py2.6.egg- info 0.9.16- py2.6.egg 0.3.4-py2. 6-linux- x86_64. egg 0.3.1-py2. 6.egg-info 0.8-py2. 6-linux- x86_64. egg 1.2-py2. 6.eggPasteDeplo y-1.5.0- py2.6.eggpip- 0.8-py2. 6.egg-infosetup tools-0. 6c11-py2. 6.egg-info 2.5.0-py2. 6-linux- x86_64. egg 1.0.4-py2. 6.egg (From http:// github. com/gholt/ swauth, git tag 1.0.4) 4.8-py2. 6.egg (From http:// github. com/openstack/ swift, git tag 1.4.8) 3.9.1-py2. 6.egg-info 1.1-py2. 6.egg 0.2.5-py2. 6.egg 6.4-py2. 6-linux- x86_64. egg
boto-2.
configobj-
coverage-
decorator-
distribute-
eventlet-
greenlet-
iniparse-
netifaces-
nose-1.
simplejson-
swauth-
swift-1.
urlgrabber-
WebOb-1.
WsgiService-
xattr-0.
An example of the issue:
# Object server view with content-length 1000000, this is the same for all copies of the object
curl -I -XHEAD "http:// xxxxxx: 6000/0/ 510874/ DURACLOUD_ 7aa09e4f- 83e5-4667- 8809-8855f56052 a9/api- test-space/ file-999. txt" Meta-Content- Mimetype: text%2Fplain 57db38a9787386d d07"
HTTP/1.1 200 OK
Content-Type: text/plain
X-Object-
Etag: "c13dbb31ea3120
Last-Modified: Fri, 06 Apr 2012 18:44:43 GMT
Content-Length: 1000000
X-Timestamp: 1333737883.55361
Date: Fri, 06 Apr 2012 21:36:42 GMT
# Proxy view of the same file-999.txt object 7aa09e4f- 83e5-4667- 8809-8855f56052 a9 7db38a9787386dd 07 195916368b11968 3433
swift stat api-test-space file-999.txt
Account: DURACLOUD_
Container: api-test-space
Object: file-999.txt
Content Type: text/plain
Content Length: 13
Last Modified: Fri, 06 Apr 2012 18:44:43 GMT
ETag: c13dbb31ea31205
Meta Content-Mimetype: text%2Fplain
Accept-Ranges: bytes
X-Trans-Id: tx4e9802d5d3674