Bug 923228 - 3.4 Alpha 2 Breaks swift file posting
Summary: 3.4 Alpha 2 Breaks swift file posting
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: GlusterFS
Classification: Community
Component: object-storage
Version: 3.4.0-alpha
Hardware: All
OS: Linux
high
high
Target Milestone: ---
Assignee: Kaleb KEITHLEY
QA Contact:
URL:
Whiteboard:
Depends On: 948041
Blocks: 918917
TreeView+ depends on / blocked
 
Reported: 2013-03-19 13:30 UTC by Alex Wheeler
Modified: 2013-07-24 17:36 UTC (History)
5 users (show)

Fixed In Version: glusterfs-3.4.0
Clone Of:
Environment:
Last Closed: 2013-07-24 17:36:21 UTC
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Embargoed:


Attachments (Terms of Use)
This patch works-around this bug. (816 bytes, patch)
2013-03-26 17:59 UTC, Alex Wheeler
no flags Details | Diff
This patch works-around this bug, now fixes a delete problem. (1.13 KB, patch)
2013-03-26 18:25 UTC, Alex Wheeler
no flags Details | Diff
This patch works-around this bug, now fixes a delete problem. (1.12 KB, patch)
2013-03-26 18:33 UTC, Alex Wheeler
no flags Details | Diff

Description Alex Wheeler 2013-03-19 13:30:57 UTC
Description of problem:
When installing the GlusterFS 3.4 Alpha 2 RPMs on a CentOS system, the object-storage file posting functionality is broken.

Version-Release number of selected component (if applicable):
3.4 Alpha 2

How reproducible:
100%

Steps to Reproduce:
1. Install all of the 3.4 Alpha 2 RPMs from: http://download.gluster.org/pub/gluster/glusterfs/qa-releases/3.4.0alpha/
2. Setup swift (I'm using tempauth)
3. Try to PUT a file.
  
Actual results:
The following error is logged, and a 500-class error is returned to the client:

Mar 16 16:30:40 r3master object-server ERROR __call__ error with PUT /admin/0/AUTH_admin/27493e6c3d7a40bf98eae94e4be20d00_1/e082450941664335a0ac42ffddb623b5 : #012Traceback (most recent call last):#012  File "/usr/lib/python2.6/site-packages/swift/obj/server.py", line 892, in __call__#012    res = method(req)#012  File "/usr/lib/python2.6/site-packages/swift/common/utils.py", line 1350, in wrapped#012    return func(*a, **kw)#012  File "/usr/lib/python2.6/site-packages/swift/obj/server.py", line 643, in PUT#012    file.put(fd, tmppath, metadata)#012  File "/usr/lib64/python2.6/contextlib.py", line 34, in __exit__#012    self.gen.throw(type, value, traceback)#012  File "/usr/lib/python2.6/site-packages/gluster/swift/common/DiskFile.py", line 331, in mkstemp#012    yield fd#012  File "/usr/lib/python2.6/site-packages/swift/obj/server.py", line 591, in PUT#012    with file.mkstemp() as (fd, tmppath):#012TypeError: 'int' object is not iterable (txn: tx0f10da8ee3554c9f8606360057eeb4c8)


Expected results:
Successful response code to the client, and the file posted to the Gluster volume

Additional info:
This appears to be due to the fact that this line:
https://github.com/openstack/swift/blob/1.7.4/swift/obj/server.py#L550
Is calling this function:
https://github.com/gluster/glusterfs/blob/master/ufo/gluster/swift/common/DiskFile.py#L305
But expecting 2 parameters to be yielded (fd, and tmppath) rather than the one yielded on line 327.

This appears to be the correct behavior for swift 1.7.6, as seen here:
https://github.com/openstack/swift/blob/1.7.6/swift/obj/server.py#L616

However, swift 1.7.4 is what is being built into 3.4 Alpha 2.

Comment 1 Junaid 2013-03-25 07:01:08 UTC

*** This bug has been marked as a duplicate of bug 923580 ***

Comment 2 Justin Clift 2013-03-26 14:06:30 UTC
Re-opened after looking into this a bit on IRC with kkeithley, awheeler, and johnmark.

kkeithley has an idea what the cause may be, but is overloaded.

Whoever picks this up should probably ping kkeithley for this thoughts on it.

Comment 3 Alex Wheeler 2013-03-26 16:22:49 UTC
This bug still exists in the current master git, using RPMs built by following:
http://www.gluster.org/community/documentation/index.php/CompilingRPMS

Comment 4 Justin Clift 2013-03-26 16:24:16 UTC
Raised priority and severity, as this bug is semi-blocker-ish.

Comment 5 Alex Wheeler 2013-03-26 17:59:52 UTC
Created attachment 716665 [details]
This patch works-around this bug.

This is a work-around, and reverts some changes made here:
https://github.com/gluster/glusterfs/commit/1338ad168a4a468636909322dace9dc9f750dd13

Comment 6 Alex Wheeler 2013-03-26 18:25:08 UTC
Created attachment 716666 [details]
This patch works-around this bug, now fixes a delete problem.

Comment 7 Alex Wheeler 2013-03-26 18:33:48 UTC
Created attachment 716667 [details]
This patch works-around this bug, now fixes a delete problem.

Comment 8 Vijay Bellur 2013-03-27 13:35:39 UTC
REVIEW: http://review.gluster.org/4735 (object-storage: swift file upload (post)) posted (#1) for review on release-3.4 by Kaleb KEITHLEY (kkeithle)


Note You need to log in before you can comment on or make changes to this bug.