Comment 4 for bug 1639691

Revision history for this message
Kota Tsuyuzaki (tsuyuzaki-kota) wrote :

Thanks John for the comment. I talked with Clay about the migration process and I'm realizing that re-putting all objects in the isa-l 5>=paritis containers can be mitigation from destroying other healthy fragments. That is because the reputing process can work as decode/encode and then the re-stored object is ensured the md5 value because the copy process set the etag from source to the destination. Once we installed the liberasurecode to prevent corrupted frag from bad pattern (and raise Error) with [2] in the description, and then reputing all, probably we can prevent the future corruption and just allowing 1/300 times errors on GET/reconstruct.

The attachment file is a draft version of the reputting script. I don't know how we should make it much robust (i.e. catch failure cases when running the reputing process) The current version works to get all containers with a specified policy and try to reput the objects in the containers and then, if it got errors like 412 unprocessable entity (etag mismatch), 500 internal server error (will occur with [2] in the bad pattern), etc..., dump the failure objects with json format which can be feed-able to the script again.

Anyway, IMO, we need [2] in the description in the liberasurecode master.