After an overwrite, HEAD and GET responses for an EC object differ

Bug #1897183 reported by Timur Alperovich
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Object Storage (swift)
Confirmed
Medium
Unassigned

Bug Description

I observed an object HEAD and GET responses coming back with different headers after an overwrite of the object stored in an 8+4 EC policy.

Example:
HEAD response:
{'content-length': '432739508', 'x-backend-timestamp': '1599155354.09456', 'x-object-sysmeta-ec-frag-index': '9', 'accept-ranges': 'bytes', 'x-object-sysmeta-ec-content-length': '432739508', 'x-object-sysmeta-ec-etag': '22d034df52db5a08886dd60b756f957d', 'x-backend-fragments': '{"1599155354.09456": [9]}', 'last-modified': 'Thu, 03 Sep 2020 17:49:15 GMT', 'etag': '39ce43328bcdb8a7fd44216351c4f2ed', 'x-timestamp': '1599155354.09456', 'x-trans-id': 'tx08b8938bc268419da85cf-005f6d0da9', 'x-backend-data-timestamp': '1599155354.09456', 'x-backend-durable-timestamp': '1599155354.09456', 'x-object-sysmeta-ec-scheme': 'isa_l_rs_cauchy 8+4', 'x-object-sysmeta-container-update-override-etag': '39ce43328bcdb8a7fd44216351c4f2ed', 'content-type': 'binary/octet-stream', 'x-openstack-request-id': 'tx08b8938bc268419da85cf-005f6d0da9', 'x-object-sysmeta-ec-segment-size': '1048576'}

GET response headers:
{'Content-Length': '432739508', 'X-Backend-Timestamp': '1599623050.52817', 'X-Object-Sysmeta-Ec-Frag-Index': '8', 'Accept-Ranges': 'bytes', 'X-Object-Sysmeta-Ec-Content-Length': '432739508', 'X-Object-Sysmeta-Ec-Etag': 'c82fe51da13a096014ca21e15f2fdb42', 'X-Backend-Data-Timestamp': '1599623050.52817', 'X-Backend-Fragments': '{"1599623050.52817": [8]}', 'Last-Modified': 'Wed, 09 Sep 2020 03:44:11 GMT', 'Etag': '39ce43328bcdb8a7fd44216351c4f2ed', 'X-Timestamp': '1599623050.52817', 'X-Trans-Id': 'tx4e77c5b9e01e40b4a3018-005f6d0da9', 'X-Backend-Durable-Timestamp': '1599623050.52817', 'X-Object-Sysmeta-Ec-Scheme': 'isa_l_rs_cauchy 8+4', 'X-Object-Sysmeta-Container-Update-Override-Etag': '39ce43328bcdb8a7fd44216351c4f2ed', 'Content-Type': 'binary/octet-stream', 'X-Openstack-Request-Id': 'tx4e77c5b9e01e40b4a3018-005f6d0da9', 'X-Object-Sysmeta-Ec-Segment-Size': '1048576'}

I don't understand the EC behavior very well, but it appears that the HEAD response returned information from a now-stale fragment, while the GET response returned current information.

clayg (clay-gerrard)
Changed in swift:
status: New → Confirmed
importance: Undecided → Medium
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.