Executing "GET api/buckets/:bucket_id/:blob_id" where blob_id is non-existant 
returns 200 OK
--------------------------------------------------------------------------------------------

                 Key: DTACLOUD-174
                 URL: https://issues.apache.org/jira/browse/DTACLOUD-174
             Project: DeltaCloud
          Issue Type: Bug
          Components: Server
         Environment:  - Deltacloud git commit version 
7e372dfca79c02a799046287e5936129216b781b - branch 'master' of 
https://git-wip-us.apache.org/repos/asf/deltacloud
 - ec2 provider
 - Fedora 16, RHEL 6.2
            Reporter: Ronelle Landy
            Assignee: Marios Andreou


This issue was found by attempting to create a blob using the PUT format, but 
with empty upload_file. Deltacloud still says blob is created - GET 
api/buckets/:bucket_id does not return that blob.

 (note from Marios - real bug is here) When you use --upload-file with no 
input, it actually does a GET.  GET on a non-existant blob returns 200 OK

 curl  -H 'content-type: text/html' -H 'X-Deltacloud-Blobmeta-Name:myblob' -H  
'X-Deltacloud-Blobmeta-Version:2.4' -H  'X-Deltacloud-Blobmeta-Author:rlandy' 
-iv --upload-file ""  --user  "username:password" 
"http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob7?format=xml";
* About to connect() to localhost port 3009 (#0)
*   Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 3009 (#0)
* Server auth using Basic with user 'AKIAJCBB265A57CGKR2Q'
> GET /api/buckets/bucket-rlandy2/03222012blob7?format=xml HTTP/1.1

(Note from Marios): HERE...^^^^^^^^^^^^^
The real bug then is that a GET on a non-existant blob returns 200 OK. This is 
due to the s3 gem.

> Authorization: Basic 
> QUtJQUpDQkIyNjVBNTdDR0tSMlE6bVJxUG80QzU2NmVwT2F1SXhPNGZhRnNPZGVUeXVzN29PVmRIS2d3NQ==
> User-Agent: curl/7.21.7 (x86_64-redhat-linux-gnu) libcurl/7.21.7 NSS/3.13.1.0 
> zlib/1.2.5 libidn/1.22 libssh2/1.2.7
> Host: localhost:3009
> Accept: */*
> content-type: text/html
> X-Deltacloud-Blobmeta-Name:myblob
> X-Deltacloud-Blobmeta-Version:2.4
> X-Deltacloud-Blobmeta-Author:rlandy
> 
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Content-Type: application/xml
Content-Type: application/xml
< ETag: "1e2b9f0b138187d17b3858795ffff479"
ETag: "1e2b9f0b138187d17b3858795ffff479"
< X-Frame-Options: sameorigin
X-Frame-Options: sameorigin
< Server: Apache-Deltacloud/0.5.0
Server: Apache-Deltacloud/0.5.0
< Date: Thu, 22 Mar 2012 21:09:07 GMT
Date: Thu, 22 Mar 2012 21:09:07 GMT
< X-Runtime: 0.841249
X-Runtime: 0.841249
< X-XSS-Protection: 1; mode=block
X-XSS-Protection: 1; mode=block
< Content-Length: 417
Content-Length: 417
< Cache-Control: max-age=0, private, must-revalidate
Cache-Control: max-age=0, private, must-revalidate
< Connection: keep-alive
Connection: keep-alive
< 
<?xml version='1.0' encoding='utf-8' ?>
<blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob7' 
id='03222012blob7'>
  <bucket>bucket-rlandy2</bucket>
  <content_length></content_length>
  <content_type></content_type>
  <last_modified></last_modified>
  <user_metadata>
  </user_metadata>
  <content 
href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob7/content'></content>
</blob>
* Connection #0 to host localhost left intact
* Closing connection #0

Note that 03222012blob7 is not returned here:
[rlandy@localhost server]$ curl -X GET --user "username:password" 
"http://localhost:3009/api/buckets/bucket-rlandy2?format=xml";
<?xml version='1.0' encoding='utf-8' ?>
<bucket href='http://localhost:3009/api/buckets/bucket-rlandy2' 
id='bucket-rlandy2'>
  <name>bucket-rlandy2</name>
  <size>6</size>
  <blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob1' 
id='03222012blob1'></blob>
  <blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob2' 
id='03222012blob2'></blob>
  <blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob3' 
id='03222012blob3'></blob>
  <blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob4' 
id='03222012blob4'></blob>
  <blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob5' 
id='03222012blob5'></blob>
  <blob href='http://localhost:3009/api/buckets/bucket-rlandy2/03222012blob6' 
id='03222012blob6'></blob>
</bucket>
[rlandy@localhost server]$


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to