diff --git a/swift/obj/reconstructor.py b/swift/obj/reconstructor.py index 4385e42..21e44f4 100644 --- a/swift/obj/reconstructor.py +++ b/swift/obj/reconstructor.py @@ -249,6 +249,12 @@ class ObjectReconstructor(Daemon): if not resp: continue resp.headers = HeaderKeyDict(resp.getheaders()) + if str(job['frag_index']) == resp.headers.get('X-Object-Sysmeta-Ec-Frag-Index'): + continue + if resp.headers.get('X-Object-Sysmeta-Ec-Frag-Index') in set( + r.headers.get('X-Object-Sysmeta-Ec-Frag-Index') + for r in responses): + continue responses.append(resp) etag = sorted(responses, reverse=True, key=lambda r: Timestamp(