get_container_info may lose all sysmeta
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
Low
|
Unassigned | ||
Swift3 |
In Progress
|
Undecided
|
Yuxin Wang |
Bug Description
Per https:/
when the request had not authenticated yet, it would send a HEAD subrequest and then process by headers_
swift3 version is 1.12
Following are pdb outputs:
> /usr/lib/
-> if is_success(
(Pdb) l
1251 if self.is_
1252 # if we have already authenticated, yes we can use the account
1253 # name like as AUTH_xxx for performance efficiency
1254 sw_req = self.to_
1255 info = get_container_
1256 -> if is_success(
1257 return info
1258 elif info['status'] == 404:
1259 raise NoSuchBucket(
1260 else:
1261 raise InternalError(
(Pdb) resp = self.get_
(Pdb) info2 = headers_
(Pdb) info
{u'status': 204, u'sync_key': None, u'write_acl': None, u'versions': None, u'storage_policy': 0, u'bytes': 0, u'meta': {}, u'cors': {u'allow_origin': None, u'expose_headers': None, u'max_age': None}, u'sysmeta': {u'versions-mode': 'history', u'versions-
(Pdb) info2
{'status': 204, 'sync_key': None, 'storage_policy': '0', 'meta': {}, 'cors': {'allow_origin': None, 'expose_headers': None, 'max_age': None}, 'sysmeta': {'versions-mode': 'history', 'versions-
swift3-acl is missing in the sysmeta of info2*.
*info2 is the return value of the else clause.
Changed in swift3: | |
assignee: | nobody → Yuxin Wang (chhyx2008) |
Fix proposed to branch: master /review. openstack. org/563564
Review: https:/