Bug 812279

Summary: object-storage: object-expiration does not work with swift-gluster plugin
Product: [Community] GlusterFS Reporter: Saurabh <saujain>
Component: object-storageAssignee: Prashanth Pai <ppai>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: pre-releaseCC: bugs, gluster-bugs, mzywusko, vagarwal
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-08-07 11:07:09 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Saurabh 2012-04-13 09:31:09 UTC
Description of problem:
   With 1.4.8 swift the newly added feature is object expiration and this works as "time to live" for an object, after the intended duration the GET and HEAD operation fails. Effectively the object expires and should get deleted after sometime. 

   More information can be found about this concept in this URL,
   http://readthedocs.org/docs/swift/en/latest/overview_expiring_objects.html

  The problem happening with swift-gluster plugin is that it reports back "503 internal server error" while setting the header for expiration for an object.


Version-Release number of selected component (if applicable):
swift 1.4.8 and 3.3.0qa33


How reproducible:
always

Steps to Reproduce:
1. use curl to set the header "X-Delete-After" to some value on an object with PUT or POST
2. 
3.
  
Actual results:
[root@QA-39 ~]# curl -v -X POST -H 'X-Delete-After:30' -H 'X-Auth-Token: AUTH_tka56d37187f06406595eb080ee511165c' http://172.17.251.90:8080/v1/AUTH_test/container2/setup.py 
* About to connect() to 172.17.251.90 port 8080 (#0)
*   Trying 172.17.251.90... connected
* Connected to 172.17.251.90 (172.17.251.90) port 8080 (#0)
> POST /v1/AUTH_test/container2/setup.py HTTP/1.1
> User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.12.9.0 zlib/1.2.3 libidn/1.18 libssh2/1.2.2
> Host: 172.17.251.90:8080
> Accept: */*
> X-Delete-After:30
> X-Auth-Token: AUTH_tka56d37187f06406595eb080ee511165c
> 
< HTTP/1.1 503 Internal Server Error
< Content-Type: text/html; charset=UTF-8
< Content-Length: 0
< X-Copied-From: container2/setup.py
< X-Copied-From-Last-Modified: Mon, 09 Apr 2012 06:06:44 GMT
< Last-Modified: Fri, 13 Apr 2012 03:01:49 GMT
< Date: Fri, 13 Apr 2012 03:01:50 GMT
< 
* Connection #0 to host 172.17.251.90 left intact
* Closing connection #0


Expected results:
it should give the response according to the PUT or POST API.

Additional info:

Comment 2 crisbud@redhat.com 2013-08-28 06:45:54 UTC
This looks similar to bug : Bug 849755 - UFO swift object expiration (edit)

Comment 3 crisbud@redhat.com 2013-08-28 06:47:10 UTC
I will take this one. But would be low priority unless otherwise suggested by Luis.

Comment 4 crisbud@redhat.com 2014-01-27 06:44:52 UTC
being tracked by above upstream blueprint and being worked on. Assigning it to Prashanth who is working on it. 

https://blueprints.launchpad.net/gluster-swift/+spec/objectexpirer

Comment 5 crisbud@redhat.com 2014-01-27 06:45:53 UTC
*** Bug 849755 has been marked as a duplicate of this bug. ***

Comment 6 Prashanth Pai 2014-02-07 06:32:19 UTC
http://review.gluster.org/#/c/6891/

Comment 7 Prashanth Pai 2015-08-07 11:07:09 UTC
Closing this old bug. Object expiration is supported since havana (rhs 3.0.4 onwards)