500 ServerError trying to read EC object with duplicate frags
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Object Storage (swift) |
Fix Released
|
High
|
Unassigned |
Bug Description
If the proxy server encounters two fragments from the backend object servers that have the same X-Object-
Luckily it's seemingly uncommon that duplicate fragments would be available at the same time [1] [2]; and normally the reconstructor can be expected to suss it out eventually.
1. After a fragment is PUT to handoffs; if there is a failure during revert that leaves the handoff still holding the frag index not also available on the primary; I attached a probe test like this
2. After a rebalance if an old primary is a new handoff; or a holding handoff becomes a primary - in either case the new primary could get rebuilt before the holding node can revert.
this is a very specific failure mode that arrises during a realistic situation which could result in the more complex requirement described in lp bug #1484598